repeat a condition from the first iteration of for loop

4 ビュー (過去 30 日間)
hamed
hamed 2014 年 7 月 27 日
コメント済み: hamed 2014 年 7 月 27 日
I have an 'if' condition in a 'for' loop. But, the problem is when the condition is true and the code do sth then it continue the loop from the point that condition becomes true. Instead, I want that the code repeat the loop from the first iteration.

採用された回答

Geoff Hayes
Geoff Hayes 2014 年 7 月 27 日
Hamed - if your for loop is something like
for k=1:n
then you can replace it with a while loop and allow the looping to continue from the first iteration whenever your condition is true
k = 1;
while k<=n
if condition is true
% do something
% reset k to repeat loop from first iteration
k = 1;
else
k = k + 1;
end
end
The only trick is making sure that you don't get stuck in this loop. When would the condition be false for all iterations that would finally cause the code to exit the loop?
  5 件のコメント
Geoff Hayes
Geoff Hayes 2014 年 7 月 27 日
Does this not work?
for i=2:m
% do sth
k=i-1;
while k>=1
% do sth
if condition is true
% do sth
k = i - 1; % to start the loop again
else
k = k - 1; % to decrement
end
end
end
Or am I misunderstanding your question? You stated that you want that the code repeat the loop from the first iteration and I want the interior for loop (k) will be repeated from the first if condition becomes true.
hamed
hamed 2014 年 7 月 27 日
Ok, thank you very much. I guess this should work. I will test it tomorrow when back to uni cause i don't have matlab at home.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by