Przechowywanie wykresów w folderze podczas uruchamiania programu MATLAB?

1

W moim programie MATLAB muszę uruchamiać pętlę for 500 razy i za każdym razem, gdy pętla jest uruchamiana, drukuje wykres, więc jeśli uruchomię program, będzie 500 (plików .fig), co może zawiesić mój system.

Czy jest więc jakiś sposób, aby zapisać dane wyjściowe, które są generowane automatycznie po każdej pętli w jakimś folderze ?.

Jeśli jest jakaś procedura, odniesienie do tej procedury będzie bardzo pomocne!

BAYMAX
źródło

Odpowiedzi:

1

Możesz użyć tej saveasmetody.

Na przykład, aby zapisać prosty bar wykres jako pngplik:

x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,'Barchart.png')

lub jako epsplik:

saveas(gcf,'Barchart','epsc')

Upewnij się, że używasz nazwy pliku, która zależy od czegoś, co zmienia się w każdej iteracji pętli, aby nie zastąpić pliku. Możesz użyć sprintfdo utworzenia nowej nazwy pliku, np. Do zapisania epspliku:

for k = 1:500
    filename = sprintf('%s_%d','Barchart',k);
    % Create the plot
    saveas(gcf,filename,'epsc')
end

Zobacz link do dokumentacji, aby uzyskać więcej konfiguracji i rodzajów plików.

Shaido
źródło
jak zmienić nazwę pliku w każdej iteracji, np. barchart1, barchart2, barchart3, ... ??
BAYMAX
@BAYMAX: Możesz na przykład użyć, sprintfaby to zrobić. W odpowiedzi dodałem przykład.
Shaido