truncating a long for loop

3 visualizzazioni (ultimi 30 giorni)
Talaria
Talaria il 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?

Risposte (1)

Jos (10584)
Jos (10584) il 30 Nov 2012
Modificato: Jos (10584) il 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 Commenti
Talaria
Talaria il 30 Nov 2012
Modificato: Talaria il 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 il 30 Nov 2012
Modificato: Jan il 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?

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by