在MATLAB中填充3D单元阵列的问题

时间:2013-08-21 15:27:57

标签: matlab

我正在尝试填充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;

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