我正在尝试填充3D单元格数组。这是代码:
D = cell(M,N,1);
for i = 1:M
for j=1:N
for k = 1:L
D{i}{j}(1+length(D{i}{j})) = 1; % error here
end
end
end
我收到错误Cell contents reference from a non-cell array object
,即使命令窗口中的以下内容正常工作:
D{i}{j}(1+length(D{i}{j})) = 1;
答案 0 :(得分:4)
我认为问题在于如何索引单元格数组D
。语法是
D{i,j,k}
不是
D{i}{j}{k}
因此应该写出给出错误的行
D{i,j,1 + length(D{i,j})} = 1;
有关详细信息,请参阅Access Data in a Cell Array。