Der Echtzeit plot in MATLAB
Ich bin sehr neu in MATLAB und ich habe versucht, die Anzeige einer Echtzeit-plot der einige Berechnungen. Ich habe eine N
Größe der Vektor-und ich arbeite mit m
Werte in einer Zeit (sagen m = N/4
), so möchte ich, um eine Darstellung der ersten m
Werte und dann, sobald der zweite m
Werte berechnet, ersetzen Sie die erste Handlung.
Mein Ansatz war wie folgt:
for i=1:N,
...
//compute m
...
plot(m);
end;
aber es nicht zu aktualisieren, die Handlung, die in jeder Schleife und wartet, bis alle Schlaufen fertig zum Plotten der Daten. Meine Frage ist: Sollte ich eine andere Funktion anstelle von plot
oder könnte ich hinzufügen einiger Verzögerung in jeder Schleife?
Ich denke, es muss einen Weg ich bin mir nicht bewusst, der für die Aktualisierung der plot statt neu zeichnen es jedes mal.
InformationsquelleAutor kirbuchi | 2010-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie fügen Sie einen Aufruf
DRAWNOW
zu zwingen, den plot zu aktualisieren. Finden Sie die Referenzseite. Beachten Sie, dassDRAWNOW
bewirkt, dass die Grafik Ereignis-queue geleert werden, die kann dazu führen, Rückrufe etc. um ausgeführt zu werden.Die doppelte Pufferung ist eine Eigenschaft der Abbildung - "set( gcf, 'DoubleBuffer', 'on' )" oder ähnlich. Könnte auch helfen, aber Sie brauchen eine DRAWNOW auf force update.
In der Tat fehlte mir der Befehl drawnow. Vielen Dank.
InformationsquelleAutor Edric
Als Edric genannt, Sie wollen auf jeden Fall um eine
drawnow
Befehl nach dem Aufrufplot
zum erzwingen einer Aktualisierung der Grafiken. Es ist jedoch viel effizienter und glatter-Methode zum animieren von plots, die nicht die Neuerstellung der gesamten Handlung jedes mal. Sie können einfach initialisieren Sie Ihr Grundstück, erfassen Sie einen Griff dem plot-Objekt, und ändern Sie dann die Eigenschaften des Objekts in Ihre Schleife über dieset
Befehl. Hier ist ein Beispiel:Außerdem vor der Schleife und nach dem Aufruf von
plot
kannst du eine Reihe von Achsen Eigenschaften, wie die Achsen Grenzen, etc., wenn Sie möchten, dass die Achsen fixiert bleiben und nicht ändern Sie Ihr Aussehen mit jeder neuen Vektorm
dass aufgetragen ist.Warum ist das nicht die akzeptierte Antwort?
Ich nahm die anderen, denn es kam zuerst und hat mir geholfen, mein problem zu lösen, aber dann habe ich gemerkt, dieses war besser. Ich denke, die Zahl der Stimmen, die für sich selbst spricht.
Normalerweise Menschen Folgen Sie(nur schauen) die akzeptierte Antwort. Die vote count nicht eye-catchy als grün-Haken 😉
könnte y bitte haben Sie einen Blick auf real-time-plots-in-matlab-standalone-application
InformationsquelleAutor gnovice