Azzera filtri
Azzera filtri

Create a matrix in Simulink and operate with convolution

6 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Andrés Guisández
Andrés Guisández il 19 Mag 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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by