Comparative Operator result is wrong
4 ビュー (過去 30 日間)
古いコメントを表示
I tried to run the if statement but this happens.
The result must be true(=1) in the last instruction but it returns false(=0)...
Anyone knows what is the problem???
1 件のコメント
Stephen23
2021 年 4 月 12 日
"Anyone knows what is the problem???"
The assumption that binary floating point numbers have infinite precision:
This is worth reading as well:
回答 (3 件)
KSSV
2021 年 4 月 12 日
Note that you are comparing two floating point numbers and such numbers cannot be comapred using ==. Follow
tol = 10^-5 ;
idx = abs(val1-val2)<tol
Steven Lord
2021 年 4 月 12 日
Two numbers that are displayed the same may not represent the same stored value. See this Answers post for more information about floating point numbers.
参考
カテゴリ
Help Center および File Exchange で Introduction to Installation and Licensing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!