Regarding discrete integration through ode45

6 次查看(过去 30 天)
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.

采纳的回答

Arnaud Miege
Arnaud Miege 2011-4-6
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 个评论
Varad
Varad 2011-4-6
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 2011-4-7
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by