2013-03-07 101 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时)之间的差异。

相关问题