Regarding discrete integration through ode45

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

Accepted Answer

Arnaud Miege
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
Varad
Varad on 6 Apr 2011
Hi Arnaud,
My main intent is to convert the whole software to C. The main reason is that some of the functions the MATLAB part implements are very slow, and I have managed to optimize a great deal of it in C. However, the simulink part is the toughest to translate. Also, since I am translating manually, I'd really like to understand how it works. Is that possible?
Thanks for your time,
Varad Deshmukh
Arnaud Miege
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

Sign in to comment.

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!