Equation is correct but logically false???
2 views (last 30 days)
Show older comments
Florent Dueme
on 9 Dec 2017
Commented: Star Strider
on 10 Dec 2017
Hi all,
I can´t make any sense of this. I have this very simple equation that is equal to 0.1 according to Matlab itself. Yet when I try to create an if statement where something happens if the value is equal to 0.1 Matlab tells me the statement is logically false:
>> a = 11
a =
11
>> (a/10)-(floor(a/10))
ans =
0.1000
>> (a/10)-(floor(a/10))==0.1
ans =
logical
0
Even weirder, it works fine when the equation equals another number like 0.6 or 0.7 (but not 0.2 or 0.3).
Any help understanding this would be very welcome!
2 Comments
Accepted Answer
Star Strider
on 9 Dec 2017
This is one of the better discussions on the problem you are experiencing: Why is 0.3 - 0.2 - 0.1 (or similar) not equal to zero? (link).
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!