Why the trigonometry results are different

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

 Akzeptierte Antwort

Peter Perkins
Peter Perkins am 22 Aug. 2014

1 Stimme

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.

Weitere Antworten (3)

David Sanchez
David Sanchez am 21 Aug. 2014

1 Stimme

The different result between tan(90) and tan(pi/2) is obvious.
1.6331e+16 might be considered equal to inf
Iain
Iain am 21 Aug. 2014

0 Stimmen

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 am 21 Aug. 2014

0 Stimmen

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

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by