在 matlab 代码中使用 for 循环时出现内存不足错误
Out of memory error while using for loop in a matlab code
我有一个 1x46 的不同长度单元格。
我想将每个单元格置零到最大长度单元格,因为我想应用 cell2mat 函数,为了应用它,我需要使这个单元格保持一致。
但是每当我 运行 我的代码出现内存错误时。
最大长度为 6691240 即最大长度单元格中有 6691240 个元素
代码如下
for i=1:numel(X1)
if size(X1{i}) < 6691240
X1{i}(end,6691240)=0;
end
end
我的理解是每个cell是一个vector,每个vector的长度需要是6691240,所以代码需要改成:
for i=1:length(X1)
if length(X1{i}) < 6691240
X1{i}(6691240)=0;
end
end
我有一个 1x46 的不同长度单元格。
我想将每个单元格置零到最大长度单元格,因为我想应用 cell2mat 函数,为了应用它,我需要使这个单元格保持一致。
但是每当我 运行 我的代码出现内存错误时。
最大长度为 6691240 即最大长度单元格中有 6691240 个元素
代码如下
for i=1:numel(X1)
if size(X1{i}) < 6691240
X1{i}(end,6691240)=0;
end
end
我的理解是每个cell是一个vector,每个vector的长度需要是6691240,所以代码需要改成:
for i=1:length(X1)
if length(X1{i}) < 6691240
X1{i}(6691240)=0;
end
end