在Matlab代码中使用for循环时出现内存不足错误

时间:2018-10-02 07:07:31

标签: matlab out-of-memory

我有一个1x46的不同长度像元的像元。

我想将每个单元格零填充到最大长度的单元格,因为我想应用cell2mat函数,并且要应用该函数,我需要使该单元格保持一致。

但是,每当我运行我的代码时,都会出现内存错误。

最大长度为6691240,即最大长度单元格中有6691240个元素

代码如下

for i=1:numel(X1)
  if size(X1{i}) < 6691240
  X1{i}(end,6691240)=0;
  end
end

1 个答案:

答案 0 :(得分:1)

我的理解是每个单元格都是一个向量,每个向量的长度必须为6691240。因此,代码需要更改为:

for i=1:length(X1)
    if length(X1{i}) < 6691240
        X1{i}(6691240)=0;
    end
end