next up previous
Next: この文書について... Up: 5 例題を解くプログラム例 Previous: 5.1 Newton 法の場合

5.2 二分法の場合

区間 $(0,1)$ 内に解があることがわかるから、二分法で許容精度 $10^{-15}$ を指示して解かせたのが以下の結果 (入力は 0 1 1e-15)。関数値が、区間の左端では負、右端では正になったまま区間が縮小 して行くのを理解しよう。

tango21% cc -o bisection bisection.c -lm
tango21% ./bisection 
 探す区間の左端α, 右端β, 許容精度ε=0 1 1e-15
f(  0.5000000000000000)= 3.78e-01, f(  1.0000000000000000)=-4.60e-01
f(  0.5000000000000000)= 3.78e-01, f(  0.7500000000000000)=-1.83e-02
f(  0.6250000000000000)= 1.86e-01, f(  0.7500000000000000)=-1.83e-02
f(  0.6875000000000000)= 8.53e-02, f(  0.7500000000000000)=-1.83e-02
f(  0.7187500000000000)= 3.39e-02, f(  0.7500000000000000)=-1.83e-02
f(  0.7343750000000000)= 7.87e-03, f(  0.7500000000000000)=-1.83e-02
f(  0.7343750000000000)= 7.87e-03, f(  0.7421875000000000)=-5.20e-03
f(  0.7382812500000000)= 1.35e-03, f(  0.7421875000000000)=-5.20e-03
f(  0.7382812500000000)= 1.35e-03, f(  0.7402343750000000)=-1.92e-03
f(  0.7382812500000000)= 1.35e-03, f(  0.7392578125000000)=-2.89e-04
f(  0.7387695312500000)= 5.28e-04, f(  0.7392578125000000)=-2.89e-04
f(  0.7390136718750000)= 1.20e-04, f(  0.7392578125000000)=-2.89e-04
f(  0.7390136718750000)= 1.20e-04, f(  0.7391357421875000)=-8.47e-05
f(  0.7390747070312500)= 1.74e-05, f(  0.7391357421875000)=-8.47e-05
f(  0.7390747070312500)= 1.74e-05, f(  0.7391052246093750)=-3.36e-05
f(  0.7390747070312500)= 1.74e-05, f(  0.7390899658203125)=-8.09e-06
f(  0.7390823364257812)= 4.68e-06, f(  0.7390899658203125)=-8.09e-06
f(  0.7390823364257812)= 4.68e-06, f(  0.7390861511230469)=-1.70e-06
f(  0.7390842437744141)= 1.49e-06, f(  0.7390861511230469)=-1.70e-06
f(  0.7390842437744141)= 1.49e-06, f(  0.7390851974487305)=-1.08e-07
f(  0.7390847206115723)= 6.91e-07, f(  0.7390851974487305)=-1.08e-07
f(  0.7390849590301514)= 2.92e-07, f(  0.7390851974487305)=-1.08e-07
f(  0.7390850782394409)= 9.20e-08, f(  0.7390851974487305)=-1.08e-07
f(  0.7390850782394409)= 9.20e-08, f(  0.7390851378440857)=-7.75e-09
f(  0.7390851080417633)= 4.21e-08, f(  0.7390851378440857)=-7.75e-09
f(  0.7390851229429245)= 1.72e-08, f(  0.7390851378440857)=-7.75e-09
f(  0.7390851303935051)= 4.72e-09, f(  0.7390851378440857)=-7.75e-09
f(  0.7390851303935051)= 4.72e-09, f(  0.7390851341187954)=-1.51e-09
f(  0.7390851322561502)= 1.61e-09, f(  0.7390851341187954)=-1.51e-09
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851341187954)=-1.51e-09
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851336531341)=-7.33e-10
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851334203035)=-3.43e-10
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851333038881)=-1.48e-10
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851332456805)=-5.11e-11
f(  0.7390851331874728)= 4.63e-11, f(  0.7390851332165767)=-2.37e-12
f(  0.7390851332020247)= 2.20e-11, f(  0.7390851332165767)=-2.37e-12
f(  0.7390851332093007)= 9.81e-12, f(  0.7390851332165767)=-2.37e-12
f(  0.7390851332129387)= 3.72e-12, f(  0.7390851332165767)=-2.37e-12
f(  0.7390851332147577)= 6.74e-13, f(  0.7390851332165767)=-2.37e-12
f(  0.7390851332147577)= 6.74e-13, f(  0.7390851332156672)=-8.48e-13
f(  0.7390851332147577)= 6.74e-13, f(  0.7390851332152124)=-8.66e-14
f(  0.7390851332149850)= 2.94e-13, f(  0.7390851332152124)=-8.66e-14
f(  0.7390851332150987)= 1.04e-13, f(  0.7390851332152124)=-8.66e-14
f(  0.7390851332151556)= 8.55e-15, f(  0.7390851332152124)=-8.66e-14
f(  0.7390851332151556)= 8.55e-15, f(  0.7390851332151840)=-3.91e-14
f(  0.7390851332151556)= 8.55e-15, f(  0.7390851332151698)=-1.53e-14
f(  0.7390851332151556)= 8.55e-15, f(  0.7390851332151627)=-3.44e-15
f(  0.7390851332151591)= 2.55e-15, f(  0.7390851332151627)=-3.44e-15
f(  0.7390851332151591)= 2.55e-15, f(  0.7390851332151609)=-4.44e-16
f(  0.7390851332151600)= 1.11e-15, f(  0.7390851332151609)=-4.44e-16
f(  0.7390851332151600)= 1.11e-15
tango21%


next up previous
Next: この文書について... Up: 5 例題を解くプログラム例 Previous: 5.1 Newton 法の場合
Masashi Katsurada
平成20年10月18日