Create a matrix in Simulink and operate with convolution

4 次查看(过去 30 天)
Hi experts, I'm trying to run the simulation of the 2D Brusselator model in SImulink.
I have done 1D case in Simulink, but in 2D, the laplacian operator needs to be considered. In simple worlds, how can I realize
1. 5*ones(5,5)+randn(5,5)
this is the initial condition for the simulation in 2D case
2. \nabla^2 u
\nabla is the laplacian operator, u is a matrix in code environment, I can do: laplace operator
L = [0 1 0; 1 -4 1; 0 1 0;];
Then
conv(L, u, 'wrap')
How can I do above steps in Simulink? Also how can I display the result (2D grid simulation) in real-time (something like mesh())?
Many thanks Kyle

采纳的回答

Andrés Guisández
Andrés Guisández 2016-5-19
i have a solution implemented by Kaier Wang et al. there is a block on simulink called 2D convolution but you must consider another user-defined function to implement boundary conditions. I give you the name of the paper:
Simulations of pattern dynamics for reaction-diffusion systems via SIMULINK Kaier Wang1, Moira L Steyn-Ross1, D Alistair Steyn-Ross1*, Marcus TWilson1, Jamie W Sleigh2 and Yoichi Shiraishi3
for the second question i suggest you to use matrix viewer block.
hope this will be usefull for someone, i know my answer comes late.
Sorry every reader for me limited english

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by