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

 채택된 답변

Peter Perkins
Peter Perkins 2014년 8월 22일

1 개 추천

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.

추가 답변 (3개)

David Sanchez
David Sanchez 2014년 8월 21일

1 개 추천

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

0 개 추천

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 2014년 8월 21일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Sparse Matrices에 대해 자세히 알아보기

제품

태그

질문:

2014년 8월 21일

답변:

2014년 8월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by