MATLAB 内存不足

Eri*_*hez 5 matlab

我正在尝试在 matlab_2011a 上运行一个脚本,它计算 50 年气候学的相同平均值。当我开始运行脚本多年时,它运行良好,直到第 20 次迭代,然后出现以下消息:

Out of memory. Type HELP MEMORY for your options. 
Run Code Online (Sandbox Code Playgroud)

然后我用来clear v1 v2 v3 ...清除函数内部的所有变量,也是clear train因为我在另一个论坛上看到它而使用的,这些修改与否,我再次运行脚本(从第21次迭代开始),结果是相同的消息,但奇怪的是有时它运行一年然后停止。

关于解决这个问题的任何想法?,我必须清理什么才能正确运行?(在这个 matlab 版本中,没有可能对我有帮助的命令内存)。

编辑

解决方案:有一个太大的变量,以不同的方式保存结果防止了内存不足错误。

Ind*_*ian 3

我不是狂热的 MATLAB 用户,但我建议您尝试一下:

File > Preferences > General > Java Heap Memory. 
Run Code Online (Sandbox Code Playgroud)

然后您可以将内存量增加到超过默认值 196 MB。希望这可以帮助。


Ric*_*lli 0

内存管理是 Matlab 长期存在的问题。最可能的原因out of memory error是内存泄漏。内存泄漏是可以被发现的,但是找到它们在技术上具有挑战性并且耗时。

要完全释放内存,需要重新启动Matlab。如果有办法在处理部分数据后保存结果,保存数据并重新启动Matlab。重新加载数据并处理另一块数据。重复此操作,直到处理完所有数据。要处理的数据量应少于 20 年。

这远非优雅,并且取决于能够保存和重新加载数据。另外,我认为数据本身的大小不是问题。