Why is my variable not staying updated in Simulink
27 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I am using Simulink and have a variable set to zero in an enabled subsystem. I send the signal out of the subsystem and am trying to update it as x = x + 1 where x is the signal. After simulink goes through all the blocks once and gets back to where x = x + 1 the x is reset to 0. I have a breakpoint in the enabled subsystem where I initialized it and it never goes back there. Any ideas would be appreciated. Thank you!
2 commentaires
Kaustubha Govind
le 18 Juin 2013
Could you please explain what block(s) you use to implement the x=x+1 part?
Réponse acceptée
Plus de réponses (1)
Erwin Torreao Dassen
le 18 Juin 2013
Modifié(e) : Erwin Torreao Dassen
le 18 Juin 2013
Is this a custom matlab function block? In that case try declaring the variable persistent. (UPDATED)
3 commentaires
Erwin Torreao Dassen
le 19 Juin 2013
I'm not sure I understand what you trying to achieve. My guess of what is happening is that your matlab-function block that defines x = 0 is being used as input outside the subsystem. If that is the case the first block outside this subsytem will always receive 0 as input signal and it will never output more than 1... In fact, your matlab-function block is just a "constant" block.
What is the behavior you want to obtain?
Regards, Erwin
Voir également
Catégories
En savoir plus sur Event Functions dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!