2011-10-25 19 views
9

Załóżmy, że mam kilka figurek otwartych w programie Matlab. Chciałbym mieć jakąś funkcję, którą mogę wywołać, np. save_all_figures_to_directory('dir_name'), która będzie iterować po wszystkich figurach i zapisywać je w określonym folderze. Jak mam to zrobic?Skrypt do zapisywania figur matlab do określonego katalogu

+2

bardzo podobne pytanie: [Jak mogę dostać uchwyty wszystkich otwartych figur w MATLAB] (http://stackoverflow.com/questions/4540604/how -do-i-get-the-handles-of-wszystkich-open-figure-in-matlab) – Amro

Odpowiedz

11

Można użyć funkcji Matlab findobj:

function save_all_figures_to_directory(dir_name) 
figlist=findobj('type','figure'); 
for i=1:numel(figlist) 
    saveas(figlist(i),fullfile(dir_name,['figure' num2str(figlist(i)) '.fig'])); 
end 
end 
+1

Podoba mi się ta mała funkcja - działa dobrze. Bardzo bym chciał, aby postać "Właściwość nazwy" miała postać "nazwa" .fig. Możesz łatwo ustawić właściwość name za pomocą podobnego polecenia: 'figure ('Name', 'ah3187w2070degspec1', 'NumberTitle', 'off', 'Color', [1 1 1])' Pamiętaj, że również wyłączam numer w tytule, a także ustawić kolor tła w tym kodzie. – AllenH

Powiązane problemy