Web教材一覧>
数値解析
(BOK大区分:1 基礎理論、中区分:2 アルゴリズムとプログラミング、中区分:2 アルゴリズム)
数値解析、方程式の根、二分法、ニュートン法
方程式 f(x)=0 の根を求める代表的な方法である二分法とニュートン法(ニュートン-ラフソン法)を説明します。
双方とも、1つの実根を求める方法で、その根の大体の値を知っていることが前提になります。
方程式 x2-1=0 の根のうち、x=1 を求めることを例にします。
ステップ1
f(x)=x2-1 のグラフは上左図のようになるので、おそらく xmin=0.5~xmax=1.9 の間に唯一の根があるだろうと想定できます。
このように、f(x)の値が、一方では正、一方では負になり、その間に根が1つだけしかない2点、xminとxmaxを与えます(この場合は、グラフが右上がりなので、f(xmin)<0、f(xmax)>0になりますが、右下がりの場合は、f(xmin)>0、f(xmax)<0となるように与えます)。
ステップ2
xminとxmaxの中点 x1=(xmin+x1)/2 を求めます。
ステップ3
方程式 x2-1=0 の根のうち、x=1 を求めることを例にします。
ステップ1
f(x)=x2-1 のグラフは上左図のようになるので、おそらく x0=0.3 の近傍に根があるだろうと想定できます。
このように、ニュートン法では、根の近傍の値を初期値x0として与えます。
ステップ2
x0に対応する点Aにおける切線を引きます。その切線がx軸と交わる点をx1とします。
さらに、x1に対応する点Bにおける切線がx軸と交わる点をx2として、x2に対応する点Bにおける切線を・・・と繰り返していく間に、根に近づきます。
その経過を上右表に示しました。ニュートン法は、二分法と比較して計算が面倒ですが、解に達するまでの繰り返し回数が少なくなります。
●ニュートン法の数学的説明
ニュートン法は、方程式f(x)と、その微分の式を与える必要があります。
f(x)の微分をg(x)とします(f(x)=x2-1のとき、g(x)=2xになります)。
点Aでの接線の勾配は、g(x0)ですから、接線は
y=g(x0)(x-x0)+f(x0)
となります。
それで、x軸との交点x1は、
x1=x0-f(x0)/g(x0)
となります。一般的には、
xi+1=xi-f(xi)/g(xi)
として計算できます。