スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

平方根をとってみる 

この前かった
「オイラーの贈物」
を読んでいたら,テイラー展開の一次近似の面白い応用がでてたので,本の例とはちょっと変えて試してみた.

(1+x)^a

aは実数をx=0のまわりで一次近似すると,

(1+x)^a≒1+ax

と近似できる.

これをうまく使うと,平方根を簡単に計算できる.

たとえばルート2は,

2^(1/2)

だから,a=1/2. あとは次のように工夫すると,

(100/49*49/100*2)^(1/2)

=10/7*(98/100)^(1/2)

=10/7*(1-2/100)^(1/2)

ってできる.

(1-2/100)^(1/2)

の部分は,x=-2/100で,a=1/2だから,

(1-2/100)^(1/2)≒1+1/2*(-2/100)=1-1/100=0.99

よって,

2^(1/2)

=10/7*(1-2/100)^(1/2)

≒10/7*0.99

=99/70

≒1.4142857…

実際には2の平方根は,

1.41421356…

だから,小数点以下6桁目で異なってきているけど,かなり良い近似値をだしてくれてる.しかも,これなら手計算で十分にできるし,応用も広い.

一次近似は,x=0の近傍での近似なので,xがゼロに近ければ近いほど,計算の精度は高くなる.上の例でもxが小さくなるように分数のところを工夫すれば,もっと精度をあげることができるわけだー.

これをアルゴリズムとして,プログラムを書けば,平方根を求めるプログラムも書けるってことか.

同じように

x^2=2

のxを求めるプログラムを一次近似して,ニュートン・ラフソン法で解いても,平方根を求めることができる.おそらくプログラムを書くならこちらの方が適当かも.

それにしてもテイラー展開は応用範囲が広いっ!

コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://kerso.blog52.fc2.com/tb.php/288-fd8c0114

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。