Matlab中的大型数组

时间:2017-01-12 11:14:58

标签: arrays matlab

我正在尝试在最新的MATLAB版本(R2016b)中构建尺寸为744×744×744×3×3的五个单精度阵列。

然而,当我构建第一个数组时,我收到错误:

  

请求的744x744x744x2x3(9.2GB)阵列超出了最大阵列大小首选项。创建大于此限制的阵列可能需要很长时间   时间和原因导致MATLAB无法响应。有关详细信息,请参阅数组大小限制或首选项面板。

我将MATLAB中的工作区首选项设置为最大数组大小1e4,这是它允许的全部内容。我将Windows 10中的最大虚拟内存设置为400GB。

我也阅读了本论坛的相关帖子,但他们没有回答我的问题。是不是可以构建大小的数组,或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

您已经超出了RAM,我建议您使用matfile。

要保存较大的矩阵(例如My_var,其大小为Nvar1 x Nvar2),而又不减慢其他进程的速度...

myObject = matfile('myFilename.mat','Writable',true);
myObject.myVariablenameinObject(1:Nvar1,1:Nvar2)=My_var(1:Nvar1,1:Nvar2)

通过将“可写”设置为true,您可以访问,修改或写入数据。如果你不想写。只需使用:

myObject = matfile('myFilename.mat')

有关更多详细信息,请参阅this link