当我试图创建一个非常大的矩阵,如40000x40000时,我有matlab的问题.
例如:
X =零(40000,40000);
错误消息是"???超出程序允许的最大变量大小."
有什么办法吗?
另外我还有另外一个问题,我们是否可以使用可变列大小的矩阵,例如在java中.
ken*_*ytm 16
每个数字40000*40000*8个字节= 12 GB,当然你没有足够的内存.
要创建一个包含大量零的巨大矩阵,您需要一个稀疏矩阵:
m = sparse(40000, 40000)
Run Code Online (Sandbox Code Playgroud)
要创建变体数组,可以使用单元格数组:
m = cell(3, 1)
m(1) = [1,2,3]
m(2) = [2,4,6,8,10]
m(3) = 6+6i
Run Code Online (Sandbox Code Playgroud)
40k*40k => 1.6*10^9 个数字。我相信 Zeros 会返回浮点数。所以你需要大约 1.6*10^9 Floats *4 Bytes/Float => 6.4GB RAM 只是为了这个变量......
你确定需要这么大的阵列吗?