2017-03-03 4 views
0

Ich versuche eine Animation in Matlab zusammenzustellen. Dazu zeige ich Bilder, die beschreiben, was gerade in der Animation passiert. Also schreibe ich Bilder von meinen Figuren und setze diese dann später mit Matlab wieder in eine AVI-Datei zusammen. Damit die Beschreibungsteile lange genug "auftauchen", verwende ich eine einfache Schleife, in der die aktuelle Zahl n-mal gespeichert wird. Leider ist dieser Prozess, obwohl Matlab nichts Neues berechnen muss, der langsamste. Da die Schleife verwende ich den folgenden (h_f ist die Figur Griff):Schneller Export der gleichen Figur n-mal

for delay = 1:80 
export_fig (h_f,['-r' num2str(resolution)], ['C:\Users\Folder\Name_', '_' num2str(7700+delay) '.png']) 
end 

Ich mag fragen nur, ob es ein schnellerer Weg ist. Im Moment fühlt es sich so an, als würde Matlab die Feige jedes Mal neu aufstellen, bevor sie es exportiert. Gibt es eine Möglichkeit, die Figur einmal zu zeichnen und gleichzeitig n-mal zu exportieren?

Danke für die Hilfe :)

Antwort

0

Wenn sie alle wirklich identisch sind, dann können Sie die erste Datei in den folgenden Dateien kopieren Sie einfach. Ihre Zeit wird durch die Geschwindigkeit Ihres Laufwerks und die Größe Ihrer Bilddateien begrenzt.

% Define some of the flags as variables. This'll make it clearer 
% what you're doing when you revisit the code in a year. 

% Flag for the resolution 
resFlag = sprintf('-r%u', resolutions); 

% Base folder 
folder = 'C:\Users\Folder\'; 

% First file number 
startnum = 7701; 

% This is the pattern all the filenames will use 
nameToken = 'Name_%u.png'; 

% First filename 
firstFile = fullfile(folder, sprintf(nameToken, startnum)); 

% Export the first file 
export_fig(h_f, resFlag, firstFile); 

numCopies = 80; 

% Copy the file 
for delay = 2:numCopies 
    % Make a new filename 
    currentFile = fullfile(folder, sprintf(nameToken, startnum + delay)); 

    % Copy the first file into the current filename. 
    copyfile(firstFile, currentFile); 
end 
+0

Vielen Dank, das spart mir wirklich einige Zeit! :) – SirBando

Verwandte Themen