我经常需要将许多数字(数百个)导出到一个文件中。目前我使用
print('-dpsc2', outfile, '-append');
我的代码使用一个隐藏的图形,每个新图形都重复使用该图形。
现在,问题是我可以达到每秒大约 8 个数字的最大导出速度。在 R 中,您可以轻松地每秒绘制大约 200 个图形。有没有人对如何(基本上)加快 MATLAB 的导出能力有任何建议?
简
我经常需要将许多数字(数百个)导出到一个文件中。目前我使用
print('-dpsc2', outfile, '-append');
我的代码使用一个隐藏的图形,每个新图形都重复使用该图形。
现在,问题是我可以达到每秒大约 8 个数字的最大导出速度。在 R 中,您可以轻松地每秒绘制大约 200 个图形。有没有人对如何(基本上)加快 MATLAB 的导出能力有任何建议?
简
我感觉到你的痛苦。这个问题也是getframe
生成电影的功能如此低效的原因。我知道的唯一方法是编写一个更简单的函数来调用低级hardcopy
函数。这是基于图像的图形的示例以及一些注意事项。该hardcopy
函数同时支持 'dpsc2' 和 'append' 选项print
:
hardcopy(gcf,'outfile.ps','-dpsc2','-append');
虽然print(gcf,'-dpsc2', 'outfile.ps', '-append');
需要大约 0.12 秒,但以上在我的机器上只需要 0.004 秒!
如果您这样做help hardcopy
,您将不会获得太多信息。但是,如果您需要对任何东西进行逆向工程,您可以阅读print
( edit print
) 的代码或它调用的各种私有函数(例如 、、edit private/render
)。edit private/paperfig
edit private/ghostscript