How to avoid rounding error

9 vues (au cours des 30 derniers jours)
Jiapeng
Jiapeng le 17 Sep 2022
Modifié(e) : Chris le 17 Sep 2022
If I want to get the value of sqrt(10001),and it should to be 100.00499...
However, MATLAB shows 100.005.
How should I write the code to get 100.00499...
THANK YOU

Réponse acceptée

Chris
Chris le 17 Sep 2022
Modifié(e) : Chris le 17 Sep 2022
Matlab is simply truncating the displayed value for ease of reading.
format longG
sqrt(10001)
ans =
100.004999875006
In both cases, the actual value matlab holds in memory is within +/- epsilon of the true value. Epsilon can be calculated like so:
eps(sqrt(10001))
ans =
1.4210854715202e-14

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by