2016-04-25 66 views
0

创建矩阵时,我试图运行涉及创建一个大矩阵的简单代码,例如,内存不足错误在Matlab

​​

这基本上是一个由24883200000矩阵5。只有执行此操作,Matlab才会显示“内存不足错误”。

如果我真的需要创建这个矩阵,我该怎么办?增加内存或将矩阵分成几部分?

以下是目前在终端存储器中的代码被暂停:

2242 MATLAB 0.0 01:00.38 54 0 300 2731M 0B 62G
2242 1睡眠* 1 [37] 0.00000

+4

您可以购买更多的RAM。最好是它的一大堆。这是一个995GB(比如1TB)的矩阵('5 * 24883200000 * 8'字节),所以这就是你正在查看的数量。 – Adriaan

+2

你如何处理它取决于你需要做什么操作。唯一的绝对解决方案是购买更多的RAM。 – excaza

回答

0

如果该矩阵的几乎所有元素均为零,则可以使用非常大的矩阵。它是特殊类型的矩阵 - 稀疏矩阵。参见文档 - matlab sparse matrix。更改您的代码:

A=sparse(5,factorial(5)^5);