Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

while true vs. for i= 1:Inf

Asked by Michael Loder

Michael Loder

on 13 Dec 2012

So I was recently posed with the question, what is the difference between a while true loop and a for i = 1:Inf loop. I have done quite a bit of research, but I cannot seem to come up with an answer. Do you know?

0 Comments

Michael Loder

Michael Loder

Products

No products are associated with this question.

3 Answers

Answer by per isakson

per isakson

on 13 Dec 2012

The for-loop provide the loop-variable, ii. Why, is that interesting?

0 Comments

per isakson

per isakson

Answer by James Tursa

James Tursa

on 13 Dec 2012
Edited by James Tursa

James Tursa

on 13 Dec 2012

In addition to what Per Isakson has written, I would add that the loop variable, after a certain point, will lose precision and become ill-defined. I think MATLAB will try to gracefully provide a value for ii, but after a point the successive ii's will be equal to each other until the background rounding scheme clocks it over into the next representable value. (As I recall, there was a previous similar thread some time ago that explored this topic)

2 Comments

Matt Fig

Matt Fig

on 14 Dec 2012
Warning: Warning: FOR loop index is too large. Truncating to 281474976710655
bym

bym

on 14 Dec 2012

There is also a MISRA-C rule regarding a while true vs a for loop in C, but I do not know if that extends to Matlab

James Tursa

James Tursa

Answer by Azzi Abdelmalek

Azzi Abdelmalek

on 13 Dec 2012
 k=0; 
while rand<0.8
  k=k+1;
end

The while loop will run until a condition rand < 0.8 is false, we don't know when it occurs, because rand is a random number. In this case we can't use a for loop

0 Comments

Azzi Abdelmalek

Azzi Abdelmalek

Contact us