Different results for two equal functions
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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...
0 Commenti
Risposta accettata
Walter Roberson
il 27 Ott 2013
The two functions you show algebraically yield identical values only for x = 0.
3 Commenti
Walter Roberson
il 27 Ott 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!