MATLAB Answers

Could anyone tell me what is wrong with the following code?

5 views (last 30 days)
Ryan
Ryan on 29 Jun 2020
Commented: Ryan on 29 Jun 2020
>> a=(6.6-5.5)/0.1
a =
11.0000
>> floor(a)
ans =
10
I suppose I should get ans=11, right? But I got ans=11. If I run the following code, I got the right result
>> a=(2.2-1.1)/0.1
a =
11
>> floor(a)
ans =
11
Could anyone tell me what is wrong with the first part?

  0 Comments

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 29 Jun 2020
Edited: madhan ravi on 29 Jun 2020
sprintf('%.32f',(6.6-5.5)/0.1)
(6.6-5.5)/sym(0.1)

  1 Comment

Ryan
Ryan on 29 Jun 2020
>> sprintf('%.32f',(6.6-5.5)/sym(1))
ans =
'1.10000000000000008881784197001252'
Now I tried the above code, and I got the wrong result. Is it an inherent flaw in MATLAB, which cannot be fixed completely?

Sign in to comment.

More Answers (0)

Products


Release

R2019b