Simple counter won't trigger if statement
古いコメントを表示
Hello, there is something strange happening when I run this code (workspace is empty before I run this)
tplot = 0;
for t = 1:100
tplot = tplot+0.1;
if tplot == 1
tplot
tplot = 0;
end
end
It never jumps inside the if block. When I increase tplot by 0.2 or 0.5 instead of 0.1 it works. I used the debugger to see what's happening when I use 0.1. When tplot reaches 1.0000 it totally ignores the if part.
Do you encounter the same problem? If so, what could be the reasen for this?
採用された回答
その他の回答 (1 件)
Tilman
2013 年 6 月 29 日
0 投票
1 件のコメント
Roger Stafford
2013 年 6 月 29 日
You should get familiar with the double and single precision binary formats of floating point numbers. It would be well worth your time. It would allow you to have a better grasp of what to expect in rounding errors for various computations.
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!