for循环Matlab中索引的变化

时间:2014-11-28 09:30:15

标签: matlab

我有一个这样的循环:

 for i = 1:3
        M = 1
        for M = M:12
                while (S(M) == i)
                    M = M+1
                end
        end
    end

现在,对于while循环中M的新递增值,'for'循环不适用于此新值。 任何解决方案?

1 个答案:

答案 0 :(得分:1)

代码没有任何意义!

您应该开始为参数使用不同的名称,

请注意:

for index = values
   program statements
      :
end
  

避免为循环体内的索引变量赋值。 for语句会覆盖循环中对索引所做的任何更改。

对于第二个循环,for M = M : 12for M = 1 : 12相同。

MATLAB在第一个定义中采用索引值,例如

a = [1 2];
for i = a
   disp(i);
   a = [1 2 3];
end

您会看到i不接受值3,因为在第一次使用for时,i设置为[1 2]。< / p>