How to use a while loop with irregular step?

2 ビュー (過去 30 日間)
bh dhouha
bh dhouha 2015 年 8 月 8 日
コメント済み: bh dhouha 2015 年 8 月 8 日
i would like to use a "while" loop ( while i<20) but with an irregular step. For example it goes this way : i=1,2,3, 5,7,9,12,15,18....it means it starts by a 1-step then by 2 then by a 3-step.

採用された回答

Walter Roberson
Walter Roberson 2015 年 8 月 8 日
while loops do not have steps. "for" loops can have steps but also can be irregular:
for i = [1,2,3, 5,7,9,12,15,18]
  5 件のコメント
Walter Roberson
Walter Roberson 2015 年 8 月 8 日
[1:1:5, 6:2:10, 11:3:20 ...]
bh dhouha
bh dhouha 2015 年 8 月 8 日
thanks a lot

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

その他の回答 (1 件)

David Young
David Young 2015 年 8 月 8 日
編集済み: David Young 2015 年 8 月 8 日
You can do it with a for loop very simply:
for i = [1,2,3, 5,7,9, 12,15,18]
% < process using i >
end
By the way, some people take the view that it is unwise to use i or j as ordinary variables because of potential confusion with the imaginary unit, so it might be better to use ii or k or something.
  2 件のコメント
bh dhouha
bh dhouha 2015 年 8 月 8 日
The loop that i mentioned is just a simple example.But what i have in reality is much complex and needs a "while" loop not a for loop. I know the "for" loop can be used with irregular increment but the problem is does that work with the "while" loop or no ? Thanks for the answer :)
bh dhouha
bh dhouha 2015 年 8 月 8 日
By the way, if i'm going to use the for loop as u mentioned , and the sequence is too long [1 ,2 ,3,.....2000] how can i write this case : if i in [1,5] take 1-step. if i in [6,10] take a 2-step ....etc?

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

カテゴリ

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