truncating a long for loop

3 Ansichten (letzte 30 Tage)
Talaria
Talaria am 30 Nov. 2012
i wrote a program and it includes a for loop, on running this program matlab says the "for loop is too long, truncating to..."
what does this mean and how does it affect my program?

Antworten (1)

Jos (10584)
Jos (10584) am 30 Nov. 2012
Bearbeitet: Jos (10584) am 30 Nov. 2012
Similar to this?
N = Inf ;
for k=1:N,
if k > 10, break ; end
end
which will get you a warning: Warning: FOR loop index is too large. Truncating to 9223372036854775807.
So, check your N!
  2 Kommentare
Talaria
Talaria am 30 Nov. 2012
Bearbeitet: Talaria am 30 Nov. 2012
i know my N is big, actually my N=2^41 my question is whether the loop will complete to N or it will terminate early, is that what truncating means? if not then what does it mean? And does that depend on my computer??
Jan
Jan am 30 Nov. 2012
Bearbeitet: Jan am 30 Nov. 2012
Here truncating mean, that the FOR loop cannot "carry" such a large index vector. This is a problem of the internal representation of numbers.
Imagine the processing of a loop iteration takes 1e-3 seconds (a fair assumption). How long will it take to perform 2^41 iterations?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by