Matlab floating point errors

166 views (last 30 days)
Hello all. I am using a Matlab R2011b version, but I am experiencing some problems in floating point calculation. For instance, if I have a = 10; b = 1e-5; a / b is not 1e6 as expected, but 9.999...*1e5. I think it is due to a floating point error or something like that. But it is very strange to have it in the fifth or sixth decimal position. Is anyone experiencing the same problems? Is it an issue related to the version? How could I solve it?
Thanks a lot Matteo

Accepted Answer

the cyclist
the cyclist on 23 Jun 2012
Varients of this question come up a lot. For example, it was recently discussed in this thread:
That thread has links to several resources that answer this question, including
  • the first-ever thread on the Answers forum that addresses this question
  • a nice FAQ that includes an answer to this
  • a "Cleve's Corner" article that talks about the limitations of floating point
and well as some nice comments, within the thread itself, about the difference between decimal and binary representation.
I would note that in your example, the discrepancy is not in the 5th or 6th decimal place. It is in something more like the 15th or 16th.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!