Azzera filtri
Azzera filtri

Why the trigonometry results are different

5 visualizzazioni (ultimi 30 giorni)
Why there is a difference in the results. in degrees it is showing inf and in radians a different result?
>> a=tan(90)
a =
-1.9952
>> b=tand(90)
b =
Inf
>> c=tan(pi/2)
c =
1.6331e+16

Risposta accettata

Peter Perkins
Peter Perkins il 22 Ago 2014
1.6331e+16 is the right answer. Remember that pi/ is irrational. There is no way to represent it in double precision. The tangent of the double precision value pi/2 evaluates to is 1.6331e+16. That's the main reason for the existence of tand -- 90 is exact.

Più risposte (3)

David Sanchez
David Sanchez il 21 Ago 2014
The different result between tan(90) and tan(pi/2) is obvious.
1.6331e+16 might be considered equal to inf

Iain
Iain il 21 Ago 2014
That's likely just the effect of small numerical errors.
After all, according to matlab,
1E300 + 1 - 1E300 = 0, and
1E300 - 1E300 + 1 = 1

Adam
Adam il 21 Ago 2014
tan is asymptotic at 90 degrees, but pi/2 will not evaluate to the precise equivalent with a numerical estimate of pi so its result will not be precisely on the asymptote

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by