我正在尝试在matlab 2013b中运行一个简单的示例代码来实现PCA。 我有一个矩阵2x88000,双,我运行一个单一的函数,这个矩阵作为参数,并得到错误,我有70%的内存空闲内存!
我已经安装了16 GB的RAM。
记忆功能给出了:
Maximum possible array: 25778 MB (2.703e+10 bytes) *
Memory available for all arrays: 25778 MB (2.703e+10 bytes) *
Memory used by MATLAB: 1284 MB (1.346e+09 bytes)
Physical Memory (RAM): 16375 MB (1.717e+10 bytes)
其他信息:
我已经安装了3个版本的matlab:2011a,2012b,2013b。
Windows 7 x64
我确实跑得更好:
princomp: 0.046 s0.003 s5508.00 Kb 5508.00 Kb 0.00 Kb 1380.00 Kb
它仅使用了5,5 Mb
答案 0 :(得分:0)
发现问题MATLAB is running out of memory but it should not be
中的问题的本地化最后,对于我的问题,Matlab应该分配~59 GB的内存,这是不可能的
答案 1 :(得分:0)
您可以尝试使用VPI插件。它引入了一种新的数据类型vpi。只需将矩阵声明为vpi。它应该能够管理内存问题。
http://www.mathworks.com/matlabcentral/fileexchange/22725-variable-precision-integer-arithmetic