みなさ〜ん、数値計算、してますか〜?

数値計算とは

コンピューターを使って、代数的または解析的に解くことが困難な問題、または手計算では不可能な計算量が膨大な問題を解くこと。

デジタル大辞泉
\(\)

ニュートン法

ニュートン法とはある関数fにおいて$$f(x)=0$$を満たすxを求めるアルゴリズムです。

このfは単調増加かつ2回微分可能で上(または下)に凸であることが(もちろんf(x)=0 が解を持つことも)必要です。

そして、解を求める漸化式は下のように表されます。

$$x_{i+1}=x_{i}-\frac{f(x_i)}{f'(x_i)}$$

それでは実際に求めてみましょう。
今回は√5の値を求めていきます。

$$f(x)=x^2-5,f'(x)=2x$$であるので

$$x_{i+1}=x_{i}-\frac{x_i^2-5}{2x_i}$$となり、この数列は√5に収束します。
実際にPythonコードを書くと下のようになります。

#2乗根を求めるpythonプログラム
a = 5 #初期値
e = 0.00001 #誤差

x = (1+a)/2

while ((x-e)**2 > a):
    x = x-(x**2-a)/(2*x)
print(x)
#結果:2.2360688956433634

実際に2.2360688956433634^2≒5です。

Twitterでフォローしよう

おすすめの記事