calculate tangent of 1e100

조회 수: 3 (최근 30일)
Ben Petschel
Ben Petschel 2012년 9월 27일
How do you calculate trig functions with very large arguments?
For example, in "Surely you're joking, Mr Feynman", Richard tells how he claimed to be able to solve within 60 seconds and within 10 percent any problem that can be stated in 10 seconds, but is stumped when asked to calculate tan(10^100).
MATLAB gives tan(1e100) = -0.4116 whereas google returns -0.6895. Which one is more accurate?
The MATLAB algorithm seems to not be based on simple remainders mod 2*pi, since tan(mod(1e100,2*pi)) returns 0.
  댓글 수: 1
Seth DeLand
Seth DeLand 2012년 9월 27일
Using Symbolic Toolbox I got:
>> vpa('tan(1e100)',100)
ans =
0.4012319619908143541857543436532949583238702611292440683194415381168718098221191211467267309749320831

댓글을 달려면 로그인하십시오.

채택된 답변

Tom
Tom 2012년 9월 27일
편집: Tom 2012년 9월 27일
Given that
eps(1e100) = 1.9427e+84
it won't be that accurate.
For what it's worth, sin(1e100)/cos(1e100) gives the same answer.
(DuckDuckGo says that Wolfram Alpha says it's 0.4012319619908143541857543436532949583238702611292440)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Utilities for the Solver에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by