如何在MatLab的循环中重复一个步骤?
例如,如果为n(循环索引)给出的值不符合我的期望,我想用n再次重复该步骤,但是已经改变了一些东西。
我试过了:
在for的步骤之外放置一段时间,比如
for n=1:N-1
while chkstep == 1 do
(....)
end
end
在时间步骤结束时减少n:
for n=1:N-1
(....)
n=n-1;
end
答案 0 :(得分:1)
我不确定你的第一个解决方案有什么问题,它应该像你描述的那样工作。但是你也可以使用while
作为外部循环,只有当你对当前步骤感到满意时才增加计数器n
。
类似的东西:
n = 1
while (n<N)
while chkstep == 1 do
(....)
end
n = n+1 ;
end
请注意您的第二个解决方案:Matlab for
循环静态,从循环内更改n
不会改变循环运行的时间。
答案 1 :(得分:0)
这个怎么样
for n = 1:N-1
check = true;
notChanged = true;
while check
(..Do your thing..)
if (n ~= goodValue && notChanged)
(...make the change...)
notChanged = false;
continue;
end
break;
end
end