How to avoid rounding error

3 visualizaciones (últimos 30 días)
Jiapeng
Jiapeng el 17 de Sept. de 2022
Editada: Chris el 17 de Sept. de 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

Respuesta aceptada

Chris
Chris el 17 de Sept. de 2022
Editada: Chris el 17 de Sept. de 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

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by