2009-06-17 9 views
1

J'ai un objet timer minlab. Il met à jour une variable globale FOO une fois par seconde.Mise à jour du matlab timer pour mettre à jour le GUIDE gui de matlab?

J'ai une GUI MATLAB GUIDE, avec un couple de contrôles, et un seul cadre de traçage. Le cadre de l'intrigue est mis à jour par certains des contrôles de l'interface graphique, et il est mis à jour par l'objet timer.

Fondamentalement, il existe deux variables globales FOO et BAR. La minuterie met FOO à jour, la commande GUI met à jour BAR. les mises à jour de FOO ou de BAR doivent mettre à jour l'interface graphique.

Comment faire?

Merci John

Répondre

3

Vous ne pouvez pas mettre une montre sur une variable. Il n'y a pas de rappel pour ça. Cependant, les deux FOO et BAR sont mis à jour soit:


FOO par timerFcn

BAR par callbacks widget


Vous devez faire une fonction:

updatePlot% met à jour l'intrigue pour refléter les nouvelles valeurs de FOO ou BAR

et avoir les deux les 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 meilleurs moyens de le faire. Je suis fan de GETAPPDATA et SETAPPDATA. Voyez 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 les fonctions imbriquées.

+0

Je ne peux pas voir les viedoes de mon emplacement actuel. Plus de détails, ou un exemple explicite seraient les plus utiles. – John

+0

J'ai essayé de faire exactement ce que vous dites, mais chaque fois que ma fonction "updatePlot" est appelée, elle crée un nouvel objet Plot. C'est comme si FOO et BAR se défaisaient dans différents contextes. – John

+1

@John: Que faites-vous dans "updatePlot"? Utilisez-vous la commande SET pour modifier les valeurs d'objets graphiques déjà existants ou remplacez-vous ces objets? Par exemple, vous * ne devriez pas * appeler "plot (...)", mais plutôt appeler "set (hPlot, ...)" où "hPlot" est un descripteur d'un objet plot renvoyé par la fonction PLOT. – gnovice

Questions connexes