How to use a while loop with irregular step?

1 visualización (últimos 30 días)
bh dhouha
bh dhouha el 8 de Ag. de 2015
Comentada: bh dhouha el 8 de Ag. de 2015
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.

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Ag. de 2015
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 comentarios
Walter Roberson
Walter Roberson el 8 de Ag. de 2015
[1:1:5, 6:2:10, 11:3:20 ...]
bh dhouha
bh dhouha el 8 de Ag. de 2015
thanks a lot

Iniciar sesión para comentar.

Más respuestas (1)

David Young
David Young el 8 de Ag. de 2015
Editada: David Young el 8 de Ag. de 2015
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 comentarios
bh dhouha
bh dhouha el 8 de Ag. de 2015
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 el 8 de Ag. de 2015
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?

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by