model a discrete system without using mdlupdate routine
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
grapevine
le 22 Fév 2012
Modifié(e) : Cedric
le 21 Oct 2013
Hello,
Is there a way to write a S-Function describing a discrete system with memory (e.g 1/z), without using the mdlUpdate routine to update the value of the discrete states
thanks in advance
0 commentaires
Réponse acceptée
Kaustubha Govind
le 22 Fév 2012
Writing a mdlUpdate is the correct way to do this. Is there a reason you want to avoid that?
You could of course get around this by combining the mdlUpdate code at the end of the mdlOutput function. For example, if u=input, x=state and y=output, your mdlOutput should look like this:
y = x;
x = u;
This is okay as long as your DirectFeedthrough is still set to true (if you set it to false, then it is not allowed to access your inputs from the output function). Setting DirectFeedthrough=true is okay if you don't plan to use your S-function block in a feedback loop that causes algebraic loops.
2 commentaires
Kaustubha Govind
le 23 Fév 2012
Yes, the DirectFeedthrough flag is set in mdlInitializeSizes. I *think* the default may be true.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!