我正在使用matlab脚本来创建和存储一个大的浮点数矩阵。当我尝试在个人笔记本电脑上运行此程序时,程序在几小时后结束,并显示“内存不足”消息。据推测,Matlab对它可以存储的最大大小的数组有一个限制,这是有道理的。
我的问题是:如何在matlab中存储大型矩阵?具体来说,我使用的是64位Linux操作系统,我需要存储5-6 GB的矩阵。
答案 0 :(得分:2)
我不是这方面的专家,但据我所知,最简单的解决方案是获得更多内存。但是,您可以尝试使用
检查错误时的可用内存dbstop if error
memory
这应该告诉你Matlab有多少可用的内存,当前使用了多少以及你的最大阵列有多大。如果你超过这个,我认为除了将数据存储在多个较小的文件中之外,还有其他软件解决方案。
如果您收到“内存不足:Java堆空间”错误,您可以在(主页 - >首选项 - >常规 - > Java堆内存)下增加可用于Java的内存
同时检查阵列端是否限制在(Home - > Preferences - > Workspace - > MATLAB数组大小限制)下的可用内存的某个百分比,并将其设置为100%。