Domanda

Ho un oggetto timer matlab. Sta aggiornando una variabile globale FOO una volta al secondo.

Ho una GUI matlab GUI, con un paio di controlli e un singolo frame della trama. Il frame della trama viene aggiornato da alcuni dei controlli della GUI e viene aggiornato dall'oggetto timer.

Fondamentalmente, ci sono due variabili globali FOO e BAR. Il timer aggiorna FOO, la GUI controlla la barra degli aggiornamenti. gli aggiornamenti a FOO o BAR devono aggiornare la GUI.

Come farlo?

Grazie John

È stato utile?

Soluzione

NON puoi mettere un orologio su una variabile. Non c'è callback per quello. Tuttavia, sia FOO che BAR vengono aggiornati da:


FOO di timerFcn

BAR per richiamate widget


Devi fare una funzione:

updatePlot% aggiorna la trama per riflettere i nuovi valori di FOO o BAR

e hanno entrambe le funzioni che aggiornano FOO o BAR e chiamano updatePlot come una delle loro ultime funzioni.

Vorrei anche sconsigliare l'uso di variabili globali. Ci sono modi migliori per farlo. Sono un fan di GETAPPDATA e SETAPPDATA. Guarda questo video che ho realizzato al riguardo.

http: //blogs.mathworks. com / video / 2005/10/03 / guida-video-parte-due /

Puoi anche provare le funzioni nidificate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top