solving a set of first order differential equations in simulink

4 visualizaciones (últimos 30 días)
Pouya Jamali
Pouya Jamali el 19 de En. de 2014
Respondida: Yugal Maheshwari el 23 de Dic. de 2018
I wish there is a way, maybe a block or something, to simulate a set of first order differential equations of any form (not restricted to be linear) easily. You know how difficult it is to build the system using basic blocks particularly when it is a high order nonlinear one. I got a clue on the Web. Is there a block called dee (differential equation editor)? I couldn't find anything about that in my Matlab 2012b help documentation or in the simulink library. Maybe it has been added in later versions, Huh?

Respuestas (2)

Mischa Kim
Mischa Kim el 20 de En. de 2014
Hello Pouya, there is a way: use an embedded MATLAB function to define the differential equations, say Xdot = f(X), where X is the state vector. Then use an integrator block to compute X . Initial conditions can be defined either externally or internally (to the integrator block).
  2 comentarios
Pouya Jamali
Pouya Jamali el 20 de En. de 2014
Thank you Mischa for your reply. you're certainly true. But this method has a limitation for my application. I'm doing Monte-Carlo simulation and I need to run my simulink consecutively with different parameters.I should be able to use set_param command from an script file to set the parameters for each run. have you heard about dee block? It sounds to be best fitted to my application, but I don't know why I can't find it in my Matlab.
Mischa Kim
Mischa Kim el 20 de En. de 2014
Editada: Mischa Kim el 20 de En. de 2014
Yes, I am familiar with the dee tool (simply type dee at the MATLAB command prompt, if you have it installed). I still recommend the general approach shown above because it gives you much more flexibility setting up the problem.
For MC simulations I would follow the procedure you outlined (using the Parallel Computing Toolbox, if available). See this demo for reference and this example .

Iniciar sesión para comentar.


Yugal Maheshwari
Yugal Maheshwari el 23 de Dic. de 2018
Hi,
How to set intial condtion Y(1)=1 in Simulink for ODE?

Categorías

Más información sobre Reporting and Database Access en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by