2016-06-17 9 views
0

Ich brauche Hilfe beim Speichern von Bildern in einem neuen Ordner in Matlab.So speichern Sie Bilder in einem neuen Ordner Matlab

zum Beispiel nehmen Sie den folgenden Code

timesteps=1000; 

    for iii=1:timesteps 
    ... 
    ... 
    image(somegraph); 
    ... 

    if mod(iii,10)==1 
    print(sprintf('%s_%d','Graph at time',iii),'-dpng') 
    end 
    end 

dieser Schleife Excutes einige Code, der eine grafische Darstellung und die Graph-Updates mit jedem itteration erzeugt, i ausdrucken und jedes 10. itteration speichern,

gibt es eine Möglichkeit, alle diese Iterationen in einem neuen Ordner zu speichern, und wenn derselbe Code erneut ausgeführt wird, wird der Ordner nicht überschrieben, aber ein neuer Ordner wird geschrieben?

Dank

+0

Sie könnten sie in einem Ordner speichern, der so etwas wie ''/ MyProject/Run x /'' heißt, wobei 'x' durch die Anzahl der Male ersetzt wird, die Sie es ausgeführt haben. Dann am Anfang deines Codes, Code, der überprüft, was das höchste "x" in allen Ordnernamen im Ordner "/ MyProject /" ist (dh Sie haben "/ Run 1 /" 'und' '/ Run 2 /' 'bereits, so dass es' 2' zurückgibt, dann erstellt einen neuen Ordner '/ MyProject/Run MaxXPlus1/'' (zB ''/MyProject/Run 3/'') in unserem Beispiel und speichert dann alle Ihre Bilder in diesem neuen Ordner. – Dan

Antwort

1

Wie über einen Ordner nach dem aktuellen Datum/Zeit und Speichern der Dateien dort zu schaffen. So etwas wie

foldername=datestr(now,'yyyy-mm-dd HH-MM-SS'); 
mkdir(foldername); 
cd(foldername); 
% code to save the data here 
% ... 

BTW, nicht verwenden Doppelpunkte für den Zeitstempel in Ihren Ordnern wie einige OSes mögen es nicht, als Datei/Verzeichnisnamen.

+3

Dies ist keine sehr robuste Lösung, da Sie in diesem neuen Verzeichnis bleiben. Wenn Sie darauf bestehen, 'cd' zu verwenden, sollten Sie zumindest sicherstellen, dass Sie sich am Ende Ihres Skripts im ursprünglichen Ordner befinden (auch im Falle eines Fehlers). Im Allgemeinen ist es besser, einen absoluten Pfad zum "Drucken" anzugeben, als aus diesem Grund Verzeichnisse zu wechseln. – Suever

+0

Danke Jungs, Problem gelöst! –

Verwandte Themen