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行目でcellarrayではなく4x4配列に割り当てられました。したがって、17行目を次のように変更する必要があります。

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

通常の括弧(配列にアクセスする場合)と中括弧(セル配列にアクセスする場合)の違いに注意してください。

于 2013-03-07T07:35:19.293 に答える