Gibt es in MATLAB einen Befehl, mit dem eine Figur automatisch in FIG oder JPEG oder in beiden Formaten gespeichert werden kann?
Verwenden Sie saveas :
h=figure;
plot(x,y,'-bs','Linewidth',1.4,'Markersize',10);
% ...
saveas(h,name,'fig')
saveas(h,name,'jpg')
Auf diese Weise wird die Figur geplottet und automatisch in '.jpg' und '.fig' gespeichert. Sie müssen nicht warten, bis der Plot erscheint, und klicken Sie im Menü auf "Speichern unter". Weit weg, wenn Sie viele Zahlen plotten/speichern müssen.
Wenn Sie den Plot wirklich nicht erscheinen lassen wollen (er muss trotzdem geladen werden, kann das nicht vermeiden, sonst gibt es auch nichts zu speichern), können Sie ihn ausblenden:
h=figure('visible','off')
Bei Verwendung der Saveas-Funktion ist die Auflösung nicht so gut wie beim manuellen Speichern der Figur mit Datei -> Speichern unter .... Es wird mehr empfohlen, stattdessen hgexport zu verwenden:
hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg');
Dies geschieht genauso wie das manuelle Speichern der Figur.
source: http://www.mathworks.com/support/solutions/de/data/1-1PT49C/index.html?product=SL&solution=1-1PT49C
Ich glaube nicht, dass Sie es speichern können, ohne dass es erscheint. Verwenden Sie jedoch den Befehl print, um mehrere Formate zu speichern. Siehe die Antwort hier: Speichern einer imagesc-Ausgabe in Matlab
Wenn Sie es als .fig-Datei speichern möchten, ist hgsave die Funktion in Matlab R2012a . In späteren Versionen kann savefig auch funktionieren.
In diesen Tagen (Mai 2017) leidet MATLAB immer noch an einer robusten Methode zum Exportieren von Zahlen, insbesondere in GNU/Linux-Systemen, wenn Zahlen im Stapelmodus exportiert werden. Am besten verwenden Sie die Erweiterung export_fig
Laden Sie einfach den Quellcode von Github herunter und verwenden Sie ihn:
plot(cos(linspace(0, 7, 1000)));
set(gcf, 'Position', [100 100 150 150]);
export_fig test2.png
imwrite(A,filename)
schreibt die Bilddaten A in die durch Dateiname angegebene Datei, um das Dateiformat von der Erweiterung abzuleiten