我有一个程序,创建了很多我想保存为fig001, fig002, ...
的地块。目前,我可以做的唯一方法是在我使用print()
或者将它们保存到图形对象FIG
中时一个一个地保存它们。计算快速的方法来保存Matlab图像作为图像(例如PNG)
不幸的是,我必须按顺序创建图(不能平行)。如果我随时保存,那么这需要相当长的时间;如果我存储在FIG
那么做一个parfor
- 回放所有的数字,然后这是更快。但是,它仍然很慢,而且这是我的代码中的一个主要瓶颈。
Matlab正在自动编写一个1200x900
像素的图像。实际上,它只是一个包含一些(水平)直线的图形。我真的不需要高质量的图像,也许减少这将有助于加快速度?我也无法找到如何做到这一点。
我已经看过网上,特别是在其他SE问题,但我一直没有能够想出一个解决方案。有很多关于“玩弄hardcore
功能”的东西。我是一个数学家,他想要一个代码来获得问题的直觉;我不是一个合适的程序员!因此,“玩弄一个功能”(可能会导致Matlab崩溃)对我来说是相当困难的!
我已经使用Matlab movie
函数对此进行了排序。谢谢Cecilia的帮助!
如果您只是对定义一条线的图上的几个点感兴趣,则可以将这些点坐标保存在文本文件中。然后您可以使用该文件快速重现图形。 – Cecilia
所以是的,我只有几点,但我真的想把它们生成图形,我可以保存为'.png'文件。原因是我然后想从图表中做出'幻灯片'(例如,使用FFMPEG)。 –
要回答您关于更改图像分辨率的问题:[以特定大小和分辨率保存图形](https://www.mathworks.com/help/matlab/creating_plots/save-figure-at-specific-size-and-resolution .html) – Cecilia