アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクローロンの定理を使った近似値計算の方法について質問がございます。

文系の大学1年生です。
添付させていただいた資料で、sinの計算とcosの計算で質問がございます。
(すみません、cosの方の資料が添付できませんでした。。)

まずsinの計算なのですが、
これはn=1の場合ですが、(赤で囲んだ部分)f3(0.5)=0.5−(0.5)3乗/3! となっております。
これのどこがわからないかというと、「なぜ0.5−(0.5)3乗/3!」となるのかが
わかりません。例えばn=2だったなら、3だったならどうなるのか。。。

教えていただきたく思います。

cosも同じ部分が疑問なのですが、n=2のとき、
f4n(0.2)=1−(0.2)2乗/2+(0.2)4乗/4!となっています。
これも「なぜ1−(0.2)2乗/2+(0.2)4乗/4!」なのか、
例えばn=3,4の時はどうなるのか。。。を教えていただければ幸いです。

「マクローリンの定理を使った近似値計算で質」の質問画像

A 回答 (5件)

マクローリン展開は、理解していますか?

    • good
    • 0

要するにマクローリン展開がわかってませんね。



y=f(0)+Σ(k=1,n)[f^k(0)/k!]x^k+[f^(n+1)(ξ)/(n+1)!]x^(n+1) (0<ξ<x)   (1)

ここでf^k(0)はf(x)のk階微分のx=0における値を示します。

最後の項はここでは無視していいでしょう。

f(x)=sinxのとき、f^k(0)はkが偶数の時0、奇数の時±1(交互に現れます。)、f(0)=0です。整理すると(1)は

y=x-x^3/3!+x^5/5!-x^7/7!+.....            (2)
となります。

>これはn=1の場合ですが、(赤で囲んだ部分)f3(0.5)=0.5−(0.5)3乗/3! となっております。
これのどこがわからないかというと、「なぜ0.5−(0.5)3乗/3!」となるのかが
わかりません。例えばn=2だったなら、3だったならどうなるのか。。。

あなたの記法は(1)においてn=3まで取った場合をfn(0.5)と書いています。よって

fn(x)=f(0)+Σ(k=1,n)[f^k(0)/k!]x^k
簡単に言うと(2)では2項目まで取っています。

(1)の導き方はf(x)が多項式で表せると仮定して、その多項式の係数を尾部を使って求めているということです。

f(x)=a0・x+a1・x+a2・x^2+a3・x^3+....

容易に

f(0)=a0
は解りますね。

両辺を微分すると
f'(x)=a1+2a2x+3a3x^2+...

a1=f'(0)

がわかりますか
このようにして係数a0,a1,a2,....を求めたものです。


cosxも全く同様で

y=1-x^2/2!+x^4/4!-x^6/6!+.....

となります。
    • good
    • 0

マクローリン展開は、関数を



f(x)≒fn(x)=a0+a1・x+a2・x^2+a3・x^3+a4・x^4+ ・・・an・x^n

というように多項式で近似するものです。

関数fのm階微分を f'[m](x) で表わすとすると
f=fnとすれば

f'[m](0)=m!am

なので

f(x)≒∑[k=1~n](f'[k]/k!)x^k

n=3 までの近似では

f'[0](0)=0
f'[1](0)=1
f'[2](0)=0
f'[3](0)=-1

なので

f(x)≒x-x^3/3!

と言うのが基本的な考え方。

以上の説明は厳密さがまるでありませんが、
発想はこんなものです。

文系なら十分かも。

尚 n=1 ってなんだか不明です。
    • good
    • 0

質問に答える前に、何をしているのか整理しておきます。



マクローリンの定理によれば

sin x = sin(0) + sin(π/2) x + sin(2π/2) x^2 + sin(3π/2) x^3 /3! + … + sin(mπ/2) x^m /m! + R(m,x)
R(m,x) = sin(cx+(m+1)π) x^(m+1) /(m+1)! , 0<c<1

と、こんな感じになります。

x = 0.5 とおくと

sin(0.5) = sin(0) + sin(π/2)・0.5 + sin(2π/2)・0.5^2 + sin(3π/2)・0.5^3 /3! + … + sin(mπ/2)・0.5^m /m! + Rm
Rm = sin(0.5c+(m+1)π)・0.5^(m+1) /(m+1)! , 0<c<1

です。

sin(0.5) = 近似値 + Rm

という形で書かれています。Rm は誤差ですが、この絶対値をこれよりずっと易しい式で評価します。

|Rm| < |0.5|^(m+1) /(m+1)!

この式の右辺を Hm とすると、Hm は単調減少です。つまり、m が大きくなれば誤差の範囲は絞れていくということです。

さて、sin(kπ/2) は k が偶数のとき0になるので、近似値の項はひとつ置きに消えます。これによって次のようなことが起こります。

m=3
sin(0.5) = 0.5 + 0.5^3 /3! + R3 、|R3| < H3 = 0.00260416666667...

m=4
sin(0.5) = 0.5 + 0.5^3 /3! + R4 、|R4| < H4 = 0.00026041666667...

つまり、近似値は同じなのに奇数次数で切るよりも次の偶数次数で切る方が誤差の範囲をより絞れるということが起きるのです。そういうわけなので、近似値を偶数次で切ることを採用して

sin(0.5) = 0.5 + 0.5^3 /3! + … + sin((2n+2)π/2)・0.5^(2n+2) /(2n+2)! + R(2n+2)
R(2n+2) < |0.5|^(2n+3) /(2n+3)!

にするほうが優れているわけです。

練習問題は、H(2n+2) < 0.001 を満たす最小の n を見つけて、最小の計算量で、誤差を千分の一に収める近似値を求めるものでしょう。


それで、質問(一部無視)の答えですが、こうなります。

n=2
sin(0.5) = 0.5 - 0.5^3 /3! + 0.5^5 /5! + R6
|R6| < H6 = 0.0000015500992…

n=3
sin(0.5) = 0.5 - 0.5^3 /3! + 0.5^5 /5! - 0.5^7 /7! + R8
|R8| < H8 = 0.0000000053822…



cos(0.2) も同様で

cos x = 1- x^2 /2! + x^4 /4! - … + cos(nπ) x^(2n) /(2n)! + R(2n+1,x)
R(2n+1,x) = cos(cx+(n+1)π) x^(2n+2) /(2n+2)! , 0<c<1

を使い、
R(2n+1) = cos(0.2c+(n+1)π) 0.2^(2n+2) /(2n+2)!
H(2n+1) = 0.2^(2n+2) /(2n+2)!
とおくと、こちらも n が大きくなるにつれて H がどんどん小さくなっていきます。

n=3
cos(0.2) = 1 - 0.2^2 /2! + 0.2^4 /4! - 0.2^6 /6! + R7
|R7| < H7 = 0.000000000063492063492063…

n=4
cos(0.2) = 1 - 0.2^2 /2! + 0.2^4 /4! - 0.2^6 /6! + 0.2^8 / 8! + R9
|R9| < H9 = 0.000000000000028218694885...

cos(0.2) = 近似値 + R の形で書いてます。
計算ミスがあるかもしれないロン。
    • good
    • 1

はあ?


マクローリン定理が分かってないですよ。
sin(x)=x-x^3/3!+x^5/5!・・・
cos(x)=1-x^2/2!+x^4/4!・・・
このxに数値を代入しただけですよ。
分かりますか? sinにはx^2, x^4の項はありません
cos の x, x^3の項はありません。
もっと勉強しましょう。
    • good
    • 1

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