Create a matrix in Simulink and operate with convolution

4 vues (au cours des 30 derniers jours)
Kyle
Kyle le 12 Avr 2013
Commenté : Kyle le 20 Mar 2017
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

Réponse acceptée

Andrés Guisández
Andrés Guisández le 19 Mai 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
  2 commentaires
Kyle
Kyle le 20 Mar 2017
Thank you Andrés, that's actually my paper!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur General Applications dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by