Regarding discrete integration through ode45
7 views (last 30 days)
Show older comments
Hi,
I am studying a software written in simulink, which includes the signal integration block. The entire system is in a closed loop, where the current input to the integration block is dependent on the previous value given at the output of the block. Basically, the input to the block is a complex function. It is mentioned in the solver pane that the ode method used is ode45.
My intention is to convert the entire simulink block to a pure MATLAB/C code. Is it possible to know how the discrete integration is implemented by MATLAB/Simulink?
Thank you, Varad.
0 Comments
Accepted Answer
Arnaud Miege
on 6 Apr 2011
Can I ask why you want to convert the Simulink model to MATLAB or C code?
Simulink use complex semantics and mechanisms to solve the underlying mathematical equations of the system (see How Simulink Works and Choosing a Solver in the documentation for more details). It's not possible to convert a Simulink model to MATLAB code, which is why I ask what are the reasons for doing so.
It is however possible to automatically generate C code from Simulink models with Real-Time Workshop. This is typically for embedding control or signal processing algorithms onto real-time embedded systems, but can also be use for speeding-up simulations, integrating in larger simulation environments, batch processing, etc...
HTH,
Arnaud
2 Comments
Arnaud Miege
on 7 Apr 2011
I wouldn't recommend doing a manual translation. Express your software in Simulink and then use Real-Time Workshop to generate the C code. Once the model is configured correctly to generate the C code, it's very easy to make modifications to the model and regenerate the code, rather than having to manually recode it and introducing potential coding errors.
Arnaud
More Answers (0)
See Also
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!