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

3:4:5の直角三角形の角度を関数電卓等を使わずに手計算で求めたいんですが、どうすればよいでしょうか。テイラー展開を使って解こうとしたんですが、
sin(x)=x-x^3/3!+x^5/5!+‥‥
だとxの指数が5,7,9と大きくなってしまいます。
sin(x)=x-x^3/3!ぐらいで切って求めていいんでしょうか。それとも他に何か求め方があるんでしょうか。

教えて!goo グレード

A 回答 (5件)

grothendieck さんが示唆しておられますように


(1)  Arcsin(3/5)
を求めることになります.

Arcsin(x) を x=0 のまわりでテーラー展開するのが grothendieck さんの解法です.
(2)  (d/dx) Arcsin(x) = 1/√(1-x^2)
ですから,直接 Arcsin(x) の微分からテーラー展開を求めた方が早いと思いますが,
いずれにしろ
(3)  Arcsin(x) = x + (1/6)x^3 + (3/40)x^5 + O(x^7)
で,grothendieck さんと同じ結果です.
あとは x=3/5 を代入すればよい.
でもこれだと精度の評価が難しそう.

ただ,x=3/5 は x=0 からかなり離れていますから,
もっと近くの点から展開した方が精度が出るでしょう.
1:2:√3 の直角三角形から
(4)  Arcsin(1/2) = π/6
がわかりますから
(5)  x = 1/2 + y
として (今は y = 3/5 - 1/2 = 1/10 になる)
(6)  Arc(1/2 + y)
を y=0 の周りで展開します.
(7)  Acrsin(1/2 + y) = π/6 + (2/√3)y + (2/3√3)y^2 + O(y^3)
あとは y = 1/10 を代入.

同様に
(8)  Arcsin((√3)/2) = π/3
ですから
(9)  Arcsin((√3)/2 + z) = π/3 + 2z + 2√3 z^2 + O(z^3)
とでき,z = 3/5 - (√3)/2) (負の量)を代入すればよい.

(7)(9)で上下から挟めますから,
数値を見ながら求める精度を考えて何次まで取るかを調整すればいいでしょう..

具体的数値の計算はお任せします.
計算ミスがあるかも知れませんのでチェックもよろしく.

四則と√は電卓使っても良いんでしょうね(^^).

この回答への補足

Arcsin(x) = x + (1/6)x^3 + (3/40)x^5 + O(x^7)
この式から
x=1/2+yの時
Arcsin(1/2 + y) = π/6 + (2/√3)y + (2/3√3)y^2 + O(y^3)

の導き方がよくわからないのですが、教えてください。
それとこの問題は電卓使用不可のテストにでてくるんです。
角度は度数表示で何度何分まで求める問題です。

補足日時:2003/07/24 16:12
    • good
    • 0

 Arcsin(1/2+y) = π/6 + (2/√3)y + (2/3√3)y^2+ O(y^3)


というのはテイラー展開
 f(a+x)=f(a)+x*f'(a)+x^2*f''(a)/2 +…

 Arcsin(y)' = (1-y^2)^(-1/2)
 Arcsin(y)'' = y*(1-y^2)^(-3/2)
を使うと出ると思います。
 y=0の周りにテイラー展開すると収束が遅いように思います。その理由はsiegmund先生が書かれているようにy=4/5(または3/5)が0から遠いということの他にArcsin(y)がy=1で特異点を持っていることによると思われます。特異点があるときの近似として私が知っているのは(知っているというほど知っているわけではないが)Pade近似です。Pade近似は
 P(x)/Q(x)  (P,Qとも多項式)
という形の近似を求めます。分母・分子が3次以下として求めると,
 P(x)/Q(x) = (x - 17/60 x^3)/(1 - 9/20 x^2)
となりましたが、これもそれほど良くはないようです。その理由は(計算が間違っているのでなければ)Arcsin(y)のy=1での特異点が極ではないことによるのでしょう。
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございました。

お礼日時:2003/07/25 17:35

よく考えてみたら、xが既知でsin(x)を求めるのではなく,y=sin(x)が既知でxを求める問題ですね。

したがってsin(x)でなく、Arc sin(y)を展開しなければならないと思われます。
 y = f(x), x = g(y)
という関数fとその逆関数gがあるとき、
 x = g(f(x))
の両辺をxで微分していくと,
 1 = f'g'(f(x))
 0 = f''g'(f(x)) + f'^2g''(f(x))
 0 = f'''g'(f(x))+3f''f'g''(f(x))+f'^3g'''(f(x))
などから
 g' = 1/f'
 g'' = -f''/f'^3
 g''' = -f'''/f' + 3f''^2/f'^2
などが得られますが,Arc sin(y)が奇関数であることが分かっているので,
 x= ay + by^3 + cy^5 +…
としてy=x-x^3/3!+x^5/5!+‥を代入し,xの次数の小さいところから係数を合わせるようにa, b, c…を決めていく方が実際的でしょう。このようにして計算すると,
 Arc sin(y) = y + (1/6)y^3 + (9/120)y^5 +…
となりました。(合っているかどうかは分かりません)
    • good
    • 0
この回答へのお礼

わざわざ計算までして頂いてありがとうございました。アークサインの求め方はやっぱりこの求め方が主流なんですかね。

お礼日時:2003/07/24 16:23

すみません。

下の回答で
 誤差評価は 1 - 1/3!
と書いてあるところは
 誤差評価は 1/5!
に訂正して下さい。(このところ訂正を連発するはめになっています。)
    • good
    • 1

どこまでで打ち切って良いかは求める精度によるでしょう。

マクローリン展開を第n項までで打ち切ったときの誤差は
 f(n)(ξ)x^n/n!  (0<ξ<x)
で与えられます(f(n)はfのn階微分)。三角級数ならば
 |f(n)(ξ)|≦1
だから簡単な誤差の評価としてはx^n/n!。例えば
 sin(x)=x-x^3/3!
とすると
 sin(1)≒0.833333…
誤差評価は
 1 - 1/3! = 0.00833
正確な値との差は
 sin(1) - 0.83333 ≒ 0.00813137
となります。ご存じと思いますがマクローリン展開はxが小さい時に良い近似です(この場合収束半径は無限大ですが)。xが1に近いかそれ以上のときは他の近似を考えた方が良いでしょう。
 
    • good
    • 0

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


人気Q&Aランキング