与R相比,MATLAB图输出非常慢

时间:2013-08-12 14:56:55

标签: matlab matlab-figure

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

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

我的代码使用了一个隐藏的数字,正在为每个新数字重复使用。

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

1 个答案:

答案 0 :(得分:6)

我感觉到你的痛苦。这个问题也是用于生成电影的getframe函数效率低下的原因。我所知道的唯一方法是编写一个调用低级hardcopy函数的简单函数。这里有an example of this for image-based graphics以及一些警告。 hardcopy功能同时支持' dpsc2'并且'追加' print执行的选项:

hardcopy(gcf,'outfile.ps','-dpsc2','-append');

print(gcf,'-dpsc2', 'outfile.ps', '-append');大约需要0.12秒,而我的机器只需0.004秒!

如果你做help hardcopy,你就不会获得太多信息。但是,如果您需要对任何内容进行反向工程,您可以阅读printedit print)的代码或其调用的各种私有函数(例如edit private/renderedit private/paperfig,{ {1}})。