Matlab:3 D矩阵的内存不足

时间:2015-10-21 01:52:20

标签: matlab matrix

我是N = 10 ^ 6个数据点并且想要创建(a)N×N 2D矩阵A(b)并将P的值分配到3D矩阵B的第三维中。对于N = 256到N = 1000,以下工作

A = 0.1*eye(N,N);
 B(:,:,1) =A;     

但是对于更高的N值,我会出现内存不足错误。所以,我发现我可以创建一个稀疏矩阵而不是使用eye作为A = 0.1*eye(N,N);但是然后无法创建B,因为该操作不适用于稀疏。我怎样才能找到出路?谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用单元格数组。

B=cell(1000000);
B{1}=A;

这仅用于内存存储。我不知道你最后会做什么。 希望这会有所帮助。