next up previous
: Fortran 文法 : 数値計算法概論:No.9(ニュートン・ラフソン法) : 数値計算法概論:No.9(ニュートン・ラフソン法)

非線形方程式の解法:ニュートン・ラフソン法

任意の関数 $f(x)$ について、$f(x)=0$ となる点 $x$ を求めよう。 図のように適当な初期値 $x_0$ において $f(x)$ に接線を引けば、接線の方程式は

\begin{displaymath}
y-f(x_0)=f'(x_0)(x-x_0)
\end{displaymath} (1)

であり、したがってこの接線と $x$ 軸との交点 $x_1$$y=0$ とおいて
\begin{displaymath}
x_1=x_0-f(x_0)/f'(x_0)
\end{displaymath} (2)

で与えられる。
\includegraphics[width=75mm]{fig9a.eps}

次に$x_1$ での $f(x)$ への接線と $x$ 軸との交点を$x_2$ とする、という操 作を繰り返すと、交点は$f(x)=0$の解に近付く。$i$番目の繰り返しでは、

\begin{displaymath}
x_{i+1}=x_{i}-f(x_i)/f'(x_i)
\end{displaymath} (3)

になるので、適当な値$\epsilon$(収束半径) を決めておき、 $\vert x_{i+1}-x_{i}\vert< \epsilon$ になったら、$x_{i+1}$ を解とみなす。

ニュートン法の収束は、2次収束

\begin{displaymath}
\vert x_{i+1}-x_{\infty}\vert < c \vert x_{i}-x_{\infty}\vert^2
\end{displaymath} (4)

で、真の値に近付くと極めて早い。大体、$i$ が1増えると有効桁数が倍になる。



Kiyohide Nomura 平成15年6月25日