大きな一連の図を.pngファイルとして印刷しています。各図はデータ行列の列のプロットで、.pngファイルを取り込んでそれらを一緒にアニメーションにします。多くの(.png)フィギュアを印刷すると、MATLABが遅くなるのはなぜですか?
私の問題は、最初の数百枚の画像がすばやく印刷されますが、新しい図形を作成する時間は、最初の数百の.pngファイルの場合は約0.2秒から800秒のときには2秒以上数字。
スクリプトの実行中にメモリ使用量が増加しますが、数秒ごとに1MBだけ増加します。これはR2009b 64ビットを実行しているWindows上にあります。
私のコードは次のようになります。
n = 1000;
matrix = rand(n);
f = figure('Visible','off'); % create the figure
for i_ =1:n
plot(1:n,matrix(:,i_));
ylim([0 1]);
set(f,'PaperUnits','inches','PaperPosition',[0 0 6 4]);
png_name = [ 'img/timestep_' sprintf('%05d',i_) ];
print('-dpng', png_name);
end
一度に500件しかできませんか?あなたのアプリを再起動するサービスがありますか? –
私はこれを十分に強調することはできません... MATLABには素晴らしいプロファイラが組み込まれており、定期的に使用する必要があります。プロファイリングはこの問題の多くを特定するのに役立ちます。 – linuxuser27