2013-03-07 141 views
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;)中,它表明單元格內容分配給非單元格數組對象。任何解決方案來解決這種類型的錯誤?單元格內容分配給非單元格數組對象

+1

在第17行和第18行,用正常括號替換最後一個大括號:'m {a,b} {h,ch}(c,d)= 1;'和'p {a,b} {h, CH}(C,d)= 1;'。 – 2013-03-07 07:34:09

+1

@ H.Muster我們知道'p'是什麼?你確定它也是一個4x4陣列而不是單元陣列? – Shai 2013-03-07 07:36:03

+0

@Shai是的,你是對的,我只是在那裏替換了括號而沒有考慮它。但是我敢打賭,'p'只會看起來像'm'。 – 2013-03-07 07:38:10

回答

1

這是一個可怕的代碼。

至於錯誤,參考m{a,b}{h,ch}的變量在第5行中被分配給4x4 數組而不是cellarray。因此,你應該行17更改爲

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

注意定期括號(訪問陣列時)和大括號(訪問cellarrays時)之間的差異。

相關問題