プロが教えるわが家の防犯対策術!

タンジェントの計算を使用としているのですが,うまく計算できません.

f(x)=arctan((a/b)*tan(x))-x ・・・(1)
a,b:定数でa/b≒1, -π/2<x<π/2 

の計算なのですが,数値計算だとあくまでグラフにしたときの見た目ですが

f(x)=k(a-b)*sin(2*x)  ・・・(2)
k:定数

のようになります.
フーリエ級数等を用いて"近似の計算"をして式(2)のように2倍周期の関数にしたいのですが,うまく計算ができません.

どなたか計算できませんか?

実際には計算で使用しているa,bはa>bでa/bは1.01位です.

教えて!goo グレード

A 回答 (2件)

エクセルのソルバー機能を使って実験式を作ってみました。



f(x) = r*(0.5-0.234*r)*sin(2*x) ・・・(3)

ここに     r = a/b - 1   ・・・(4)

これで r = 0.01 での平均誤差は 10^(-10) 以下、また 0≦ r ≦ 0.1 の範囲での平均誤差は 10^(-6) 以下になります。大きな r の領域での精度も必要な場合は sin(4*x) の項を加える必要があります。
    • good
    • 0

>f(x)=arctan((a/b)*tan(x))-x ・・・(1)


>a,b:定数でa/b≒1, -π/2<x<π/2 
> ........
>f(x)=k(a-b)*sin(2*x)  ・・・(2) k:定数


  G(x,y) = arctan(y*tan(x))
としましょう。
  G(x,1) = x
  Gy(x,1) = tan(x)/(1+tan^2(x)) = sin(x)*cos(x) = sin(2x)/2  (Gy は G を y で偏微分したもの)
なので、式(2) は a/b = 1 近傍における f(x) の一次近似ですね。(k = 1/(2b) かな?)
 
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

教えて!goo グレード

人気Q&Aランキング