Equation is correct but logically false???
    5 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!