Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

change order called function in the block s-function

Asked by Johanna Carolina Salazar on 19 Sep 2013

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?¿

0 Comments

Johanna Carolina Salazar

Products

2 Answers

Answer by Kaustubha Govind on 19 Sep 2013

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 Comment

Johanna Carolina Salazar on 19 Sep 2013

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.

Kaustubha Govind
Answer by Johanna Carolina Salazar on 19 Sep 2013

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.

0 Comments

Johanna Carolina Salazar

Contact us