Why the trigonometry results are different
6 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Peter Perkins
2014-8-22
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.
0 个评论
更多回答(3 个)
David Sanchez
2014-8-21
The different result between tan(90) and tan(pi/2) is obvious.
1.6331e+16 might be considered equal to inf
0 个评论
Iain
2014-8-21
That's likely just the effect of small numerical errors.
After all, according to matlab,
1E300 + 1 - 1E300 = 0, and
1E300 - 1E300 + 1 = 1
0 个评论
Adam
2014-8-21
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
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!