ニュートン法の数値計算例(C言語)

ニュートン法を用いて方程式の解を求める

ニュートン法で方程式の解を求める場合も、2分法の数値計算例(C言語)と同様に、求めたい方程式 f(x)=0 の左辺の関数をグラフィック系ソフトで描きある程度の解の予想が必要である。ここでも xsin(x)+log(x)=0 の解を求める事にする。

この方程式の左辺を関数 f(x) とおき曲線を描く。Gnuplot で描くと以下の図のようになる。



この図は、x軸の範囲を0から5にして拡大表示している。ここでは最も値が小さい解を求めよう。この解は約0.5から1.0の間にあると図からわかる。

解の値の存在範囲がわかったら、後はプログラムにまかせて、正確な解を求めさせる。ソースコードはC言語で書かれているが、newtonhou.cをダウンロードし、適切なソフトを使えば見られる。

数値計算実行結果

プログラムを実行すると、初期値の入力を求めらるので、求めたい解に近い値を入力する。例えば、0.5 と入力すると以下のように表示される。2分法の数値計算例(C言語)と比べて、初期値のスタート、収束条件等が同じであるのに、計算回数が4分の1に減った。よって、ニュートン法は、2分法と比べると、より速く解が求まる事が、この結果からもわかる。
初期値を入力してください。
0.5
解の値は 0.664102
収束するのに 4 回かかりました。