Wie kann ich die Anzeige eines Figurenfensters unterdrücken, während die Zeichnung im Hintergrund bleibt, um die resultierende Grafik am Ende des Laufs zu speichern? Was ist die beste Vorgehensweise, um dies zu tun? Derzeit ist mein Code wie folgt:
%Vor%Ich möchte den Code so einrichten, dass, wenn ich showPlot auf 0 setze, das Figurenfenster nicht angezeigt wird, aber das Plot in einer Datei gespeichert wird.
Von der MathWorks-Referenz :
Um das Anzeigen von Zahlen in MATLAB zu vermeiden, können Sie MATLAB mit der Option noFigureWindows starten. Diese Option ist unter UNIX nicht verfügbar.
%Vor%Alternativ können Sie die Standardfigureigenschaften des MATLAB-Wurzelobjekts ändern:
%Vor%Wenn Sie neue Figuren temporär unterdrücken möchten, die später in derselben Sitzung zugänglich sein sollen, können Sie das Zahlenhandle speichern:
%Vor% Übrigens schließt close all
alle aktuell geöffneten Zahlen.
Die anderen Antworten funktionierten bei R2015b auf Ubuntu nicht, mein Zahlenfenster würde immer auftauchen.
Ich verarbeite mehr als 100 Dateien und das aufklappende Zahlenfenster verhindert, dass ich meinen Computer benutze, während ich die Dateien verarbeite.
Hier ist ein Workaround, starten Sie Matlab ohne eine Anzeige:
%Vor%und dies verhindert, dass Figurenfenster angezeigt werden. Das programmatische Speichern der Figur in einer Datei funktioniert immer noch.
Um die Anzeige von Zahlen während der Instantiierung zu unterdrücken, rufen Sie zuerst
auf %Vor%Nach diesem Aufruf führt das Erstellen neuer Figuren in einem Skript nicht dazu, dass ein sichtbares Fenster erscheint. Die Einstellung dieser Einstellung ist natürlich
%Vor%Das "Gotcha" ist, dass die Aktivierung einer vorhandenen Figur für die weitere Manipulation zu einem sichtbaren Fenster führt - wenn dies nicht korrekt geschieht:
%Vor%Die Problemumgehung besteht darin, einen anderen Befehl set zu verwenden, um vorhandene Zahlen auszuwählen:
%Vor%Unabhängig von der Einstellung von 'DefaultFigureVisible', rufen Sie
auf %Vor%wobei h ein Handle oder eine Ganzzahl für ein vorhandenes Plotfenster ist, wird dieses Fenster aktiv und sichtbar. So kann man alle Plots am unteren Rand eines Skripts auf diese Weise sichtbar machen:
%Vor%