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

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

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

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.

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.

Answer by Johanna Carolina Salazar
on 19 Sep 2013

## 0 Comments