我经常要将许多数字(数百)导出到一个文件中。目前我使用
print('-dpsc2', outfile, '-append');
我的代码使用了一个隐藏的数字,正在为每个新数字重复使用。
现在,问题是我可以达到每秒8个数字的最大输出速度。在R中,您可以轻松地绘制每秒200个数字。有没有人有任何建议如何(大幅)加快MATLAB的出口能力?
扬
答案 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
,你就不会获得太多信息。但是,如果您需要对任何内容进行反向工程,您可以阅读print
(edit print
)的代码或其调用的各种私有函数(例如edit private/render
,edit private/paperfig
,{ {1}})。