我有一个这样的循环:
for i = 1:3
M = 1
for M = M:12
while (S(M) == i)
M = M+1
end
end
end
现在,对于while循环中M的新递增值,'for'循环不适用于此新值。 任何解决方案?
答案 0 :(得分:1)
代码没有任何意义!
您应该开始为参数使用不同的名称,
请注意:
for index = values
program statements
:
end
避免为循环体内的索引变量赋值。 for语句会覆盖循环中对索引所做的任何更改。
对于第二个循环,for M = M : 12
与for M = 1 : 12
相同。
MATLAB在第一个定义中采用索引值,例如
a = [1 2];
for i = a
disp(i);
a = [1 2 3];
end
您会看到i
不接受值3
,因为在第一次使用for
时,i
设置为[1 2]
。< / p>