重复循环中的步骤

时间:2014-05-06 17:48:42

标签: matlab loops for-loop

如何在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
    

2 个答案:

答案 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