truncating a long for loop

2 ビュー (過去 30 日間)
Talaria
Talaria 2012 年 11 月 30 日
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?

回答 (1 件)

Jos (10584)
Jos (10584) 2012 年 11 月 30 日
編集済み: Jos (10584) 2012 年 11 月 30 日
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 件のコメント
Talaria
Talaria 2012 年 11 月 30 日
編集済み: Talaria 2012 年 11 月 30 日
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 2012 年 11 月 30 日
編集済み: Jan 2012 年 11 月 30 日
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?

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

カテゴリ

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