Obtenir matlab timer pour mettre à jour matlab GUIDE gui?
-
06-07-2019 - |
Question
J'ai un objet Matlab Timer. Il met à jour une variable globale FOO une fois par seconde.
J'ai une interface graphique matlab GUIDE, avec quelques contrôles et un seul cadre de tracé. Le cadre de tracé est mis à jour par certains contrôles de l'interface graphique et par l'objet timer.
En gros, il existe deux variables globales FOO et BAR. La minuterie met à jour FOO, l’interface graphique met à jour BAR. Les mises à jour de FOO ou de BAR doivent mettre à jour l'interface graphique.
Comment faire cela?
Merci John
La solution
Vous ne pouvez PAS mettre une montre sur une variable. Il n'y a pas de rappel pour cela. Cependant, FOO et BAR sont mis à jour soit par:
FOO par timerFcn
Rappels BAR par widget
Vous devez créer une fonction:
updatePlot% met à jour le tracé pour refléter les nouvelles valeurs de FOO ou BAR
et que les deux fonctions qui mettent à jour FOO ou BAR appellent updatePlot comme l'une de leurs dernières tâches.
Je recommande également de ne pas utiliser de variables globales. Il y a de meilleures façons de le faire. Je suis un fan de GETAPPDATA et SETAPPDATA. Voir cette vidéo que j'ai faite à ce sujet.
http: //blogs.mathworks. com / videos / 2005/10/03 / guide-video-part-two /
Vous pouvez également essayer des fonctions imbriquées.