0
for ch=1:63
    for h=1:5
        for a=1:6
            for b=1:6
                m{a,b}{h,ch}=zeros(4,4);
            end
        end
    end
end


for a=1:6
    for b=1:6
        if b==a
            for h=1:5
                for ch=1:63
                    for c=1:4
                        for d=1:4
                            m{a,b}{h,ch}{c,d}=1;
                        end
                    end
                end
            end
        end
    end
end

错误出现在第 17 行 ( m{a,b}{h,ch}{c,d}=1;),它表明单元格内容分配给了非单元格数组对象。有解决此类错误的解决方案吗?

4

1 回答 1

2

这是一个可怕的代码。

至于错误,被引用的变量m{a,b}{h,ch}在第 5 行被分配给了一个 4x4数组而不是一个单元数组。因此,您应该将第 17 行更改为

m{a,b}{h,ch}(c,d)=1;

请注意正则括号(访问数组时)和花括号(访问元胞数组时)之间的区别。

于 2013-03-07T07:35:19.293 回答