我正在将大量数字打印为 .png 文件。每个图都是数据矩阵中一列的图,我将 .png 文件串在一起形成动画。
我的问题是前几百张图像打印得很快,但是创建每个新图形的时间迅速增加,从前几百个 .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