トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Tips-sincos

  三角関数

sin/cos の近似値を求める

πについては tips-PI_FFT

三角関数系、基本12パターン(要「直角三角形」)

△ABC において

∠ACB が直角/ 
∠ABC をθ
辺AB を r ( 斜辺 )
辺BC を x ( 底辺 )
辺BA を y ( 高さ )

とした時

r = x / cosθ    :「r」を「x」と「θ」から求める
r = y / sinθ    :「r」を「y」と「θ」から求める
r = √(x2 + y2)   :「r」を「x」と「y」から求める
x = cosθ * r    :「x」を「θ」と「r」から求める 
x = y / tanθ    :「x」を「y」と「θ」から求める 
x = √(r2 - y2)   :「x」を「r」と「y」から求める
y = sinθ * r    :「y」を「θ」と「r」から求める
y = tanθ * x    :「y」を「θ」と「x」から求める
y = √(r2 - x2)   :「y」を「r」と「x」から求める
θ = asin(y / r) :「θ」を「y」と「r」から求める
θ = acos(x / r) :「θ」を「x」と「r」から求める
θ = atan(y / x) :「θ」を「y」と「x」から求める

近似値 SIN ( マクローリン展開 ) Tips-maxima

SIN(X) = x -(x^3)/(3!)+(x^5)/(5!)-(x^7)/(7!)+(x^9)/(9!)
maxima
(%i9)  f(x):=sum(((-1)^k)*(x^(2*k+1))/(2*k+1)!,k,0,n),simpsum;
固定値
(%i10) f(x):=sum(((-1)^k)*(x^(2*k+1))/(2*k+1)!,k,0,10),simpsum;

近似値 COS Tips-maxima

COS(X) = 1 -(x^2)/2! +(x^4)/4! -(x^6)/6! +(x^8)/8!
maxima
(%i12) sum(((-1)^k)*(x^(2*k)/(2*k)!),k,0,n),simpsum;
固定値
(%i13) f(x) := sum(((-1)^k)*(x^(2*k)/(2*k)!),k,0,10),simpsum;
試してみる
(%i1) KPI:1019514486099146/324521540032945; ## 20桁
(%i1) KPI:103993/33102; ## 10桁
(%i1) dg:(30 * %pi / 180) ;
(%i2) f(x) := sum(((-1)^k)*(x^(2*k)/(2*k)!),k,0,10),simpsum;
(%i3) float(f(dg)-cos(dg)) ;
(%i4) dg:(60 * %pi / 180) ;
(%i5) float(f(dg)-cos(dg)) ;
(%o10)                       7.988719676478221E-17
(%i1) dg:(30 * KPI / 180) ;
(%i2) f(x) := sum(((-1)^k)*(x^(2*k)/(2*k)!),k,0,10),simpsum;
(%i3) float(f(dg)-cos(dg)) ;
(%i4) dg:(60 * KPI / 180) ;
(%i5) float(f(dg)-cos(dg)) ; 
( 17桁は多すぎる??)

https://nc-program.s-projects.net/math6.html