Different results for two equal functions

1 visualización (últimos 30 días)
Beaya
Beaya el 27 de Oct. de 2013
Comentada: Beaya el 27 de Oct. de 2013
I am comparing these two functions:
f = sqrt(x.^2+1.0)-1.0
g = x.^2./(sqrt(x.^2+1.0)+1.0)
x = [8^-6 8^-7, 8^-8]
Even though f = g, I get slightly different values e.g. for x = 8^-7 I get f(x) = 1.136868377216 160 e-13 and g(x) = 1.136868377216 096 e-13.
I'm guessing this has something to do with the reduction of significant digits, however I don't know which results are more reliable. My guess is that function f = sqrt(x.^2+1.0)-1.0 is more precise because we only have one x in it but I am not sure...

Respuesta aceptada

Walter Roberson
Walter Roberson el 27 de Oct. de 2013
The two functions you show algebraically yield identical values only for x = 0.
  3 comentarios
Walter Roberson
Walter Roberson el 27 de Oct. de 2013
Apologies, I had a typo when I did the calculations. The two do come out the same.
To more precision the 8^(-7) answer is
1.136868377216095673908443130184740364*10^(-13)
so your g(x) formula is more precise.
Beaya
Beaya el 27 de Oct. de 2013
Thank you but do you know what might be the reason to that? I mean why g(x) is more precise?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by