change order called function in the block s-function

7 次查看(过去 30 天)
Can be possible to change the way that the block s-function calls mdlInitializeSizes mdlUpdates mdlOutputs? I known that first the block is initialized, and after that comes mdlOutputs and Finally mdlupdates, but it produce a unit delay in my signal. Could I changed it, so that the sequence will be initialized, then mdlupdate and finally mdlOutputs. Without a unit delay?¿

回答(2 个)

Kaustubha Govind
Kaustubha Govind 2013-9-19
No, it is not possible to change the order in which the Simulink Engine calls S-function methods. I'm not sure if I understand your question correctly, but if you don't need a delay, then why implement an mdlUpdate method at all? It looks like you can combine all your calculations in mdlOutputs itself. If this answer doesn't make sense, it might help us understand your question better if you can provide more details about your algorithm.
  1 个评论
Johanna Carolina Salazar
It could be possible combine all my calculations in mdlOutputs itself. The main problem with that is that I have inside a fmincon. So when i call this function, it starts to compute the optimal solution, once the solution is founded, instead of continuos, start again to compute the optimal.

请先登录,再进行评论。


Johanna Carolina Salazar
It could be possible combine all my calculations in mdlOutputs itself. The main problem with that is that I have inside a fmincon. So when i call this function, it starts to compute the optimal solution, once the solution is founded, instead of continuos, start again to compute the optimal.

类别

Help CenterFile Exchange 中查找有关 Manual Performance Optimization 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by