Matlab floating point errors

23 vues (au cours des 30 derniers jours)
Matteo Cacciola
Matteo Cacciola le 23 Juin 2012
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

Réponse acceptée

the cyclist
the cyclist le 23 Juin 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.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by