Create a matrix in Simulink and operate with convolution

4 views (last 30 days)
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

Accepted Answer

Andrés Guisández
Andrés Guisández on 19 May 2016
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

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!