5

我经常需要将许多数字(数百个)导出到一个文件中。目前我使用

  print('-dpsc2', outfile, '-append');

我的代码使用一个隐藏的图形,每个新图形都重复使用该图形。

现在,问题是我可以达到每秒大约 8 个数字的最大导出速度。在 R 中,您可以轻松地每秒绘制大约 200 个图形。有没有人对如何(基本上)加快 MATLAB 的导出能力有任何建议?

4

1 回答 1

6

我感觉到你的痛苦。这个问题也是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/paperfigedit private/ghostscript

于 2013-08-12T16:50:27.173 回答