(1) |
次に, 点における曲線の接線と
軸との交点の座標をとし, この操作を繰り返すと, 数列
(2) |
(3) |
ニュートン法では, 2分法と違って, 誤差の限界の正確な判定ができません. ここでは, 数列 (2) において, となったとき, は誤差の限界がの近似解であると考えます.
誤差の限界を として, 方程式 の近似解を ニュートン法で求める手順は, 次のようになります.
次の例は, の唯一の実数解の近似値をニュートン法で 求めるプログラムです. 手抜きをして, 絶対誤差を評価したプログラムです.
/* File name 7-3.c */ #include <stdio.h> #include <math.h> #define EPSILON 1.0E-10 double next(double x); main() { double ans, ans1; ans=0.0; ans1=next(ans); while (fabs(ans-ans1) > EPSILON){ ans1=ans; ans=next(ans1); } printf("%1.10f\n", ans); } double next(double x) { return (x-(x*x*x+x+1)/(3*x*x+1)); }