2005年11月29日(Tue) 締め切り直前に不具合発覚 [長年日記]
● 方程式をNewton法で解こうとすると解が発振しちゃうことがある
x=x-f(x)/f'(x)で解に近づいてくやつ。イテレーションのたびにxが2つの値の間をいったりきたりする。f(x)もf'(x)も不連続なわけでも何でもないのにそういう点がけっこうあるのだね。
f(x1)<0,0<f(x2)になるようなx1とx2の間隔を縮めていく二分法でやれば安定に解は求まるのだけれど、Newton法が発振しないときには5-6回の評価で得られていた解の精度が20-25回の評価をしないと得られない。
どうしよう…しかし解が求まらないのは避けないといけないよな。x1とx2の初期値を工夫して評価回数を減らすようにするしかないか。
最近のツッコまれどころ