It's a bug?
1 回表示 (過去 30 日間)
古いコメントを表示
I discovered a potential bug and I want to report it:
Matlab R2018a windows 10
alfa=-0.0052+(61-1)*0.0001;
reasoning this is 0.0060-0.0052=0.0008=8e-04
so:
alfa2=8e-04;
isequal(alfa,alfa2)
ans
0
if you open alfa variable you can see:
8.000000000000004e-04
in fact if you round alfa:
alfa3=round(alfa,10);
isequal(alfa2,alfa3)
ans
1
That's all Thanks
1 件のコメント
Bruno Luong
2018 年 11 月 29 日
Welcome to the club, you are one more person who confuses about finite precision floating point calculation.
採用された回答
madhan ravi
2018 年 11 月 29 日
編集済み: madhan ravi
2018 年 11 月 29 日
It‘s called floating point comparison just search with the tag floating-point in this forum you will find lot of reasons
abs(alfa-alfa2)<1e-04
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!