next up previous
Next: 7 レポート課題6 Up: 6 例題を解くプログラム例 Previous: 6.1 Newton 法の場合

6.2 二分法の場合

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

samba01% gcc -o bisection bisection.c -lm
samba01% ./bisection
 探す区間の左端α, 右端β, 許容精度ε=0 1 1e-15
f(   0.000000000000000)= 1.00e+00, f(   1.000000000000000)=-4.60e-01
f(   0.500000000000000)= 3.78e-01, f(   1.000000000000000)=-4.60e-01
f(   0.500000000000000)= 3.78e-01, f(   0.750000000000000)=-1.83e-02
f(   0.625000000000000)= 1.86e-01, f(   0.750000000000000)=-1.83e-02
f(   0.687500000000000)= 8.53e-02, f(   0.750000000000000)=-1.83e-02
f(   0.718750000000000)= 3.39e-02, f(   0.750000000000000)=-1.83e-02
f(   0.734375000000000)= 7.87e-03, f(   0.750000000000000)=-1.83e-02
f(   0.734375000000000)= 7.87e-03, f(   0.742187500000000)=-5.20e-03
f(   0.738281250000000)= 1.35e-03, f(   0.742187500000000)=-5.20e-03
f(   0.738281250000000)= 1.35e-03, f(   0.740234375000000)=-1.92e-03
f(   0.738281250000000)= 1.35e-03, f(   0.739257812500000)=-2.89e-04
f(   0.738769531250000)= 5.28e-04, f(   0.739257812500000)=-2.89e-04
f(   0.739013671875000)= 1.20e-04, f(   0.739257812500000)=-2.89e-04
f(   0.739013671875000)= 1.20e-04, f(   0.739135742187500)=-8.47e-05
f(   0.739074707031250)= 1.74e-05, f(   0.739135742187500)=-8.47e-05
f(   0.739074707031250)= 1.74e-05, f(   0.739105224609375)=-3.36e-05
f(   0.739074707031250)= 1.74e-05, f(   0.739089965820312)=-8.09e-06
f(   0.739082336425781)= 4.68e-06, f(   0.739089965820312)=-8.09e-06
f(   0.739082336425781)= 4.68e-06, f(   0.739086151123047)=-1.70e-06
f(   0.739084243774414)= 1.49e-06, f(   0.739086151123047)=-1.70e-06
f(   0.739084243774414)= 1.49e-06, f(   0.739085197448730)=-1.08e-07
f(   0.739084720611572)= 6.91e-07, f(   0.739085197448730)=-1.08e-07
f(   0.739084959030151)= 2.92e-07, f(   0.739085197448730)=-1.08e-07
f(   0.739085078239441)= 9.20e-08, f(   0.739085197448730)=-1.08e-07
f(   0.739085078239441)= 9.20e-08, f(   0.739085137844086)=-7.75e-09
f(   0.739085108041763)= 4.21e-08, f(   0.739085137844086)=-7.75e-09
f(   0.739085122942924)= 1.72e-08, f(   0.739085137844086)=-7.75e-09
f(   0.739085130393505)= 4.72e-09, f(   0.739085137844086)=-7.75e-09
f(   0.739085130393505)= 4.72e-09, f(   0.739085134118795)=-1.51e-09
f(   0.739085132256150)= 1.61e-09, f(   0.739085134118795)=-1.51e-09
f(   0.739085133187473)= 4.63e-11, f(   0.739085134118795)=-1.51e-09
f(   0.739085133187473)= 4.63e-11, f(   0.739085133653134)=-7.33e-10
f(   0.739085133187473)= 4.63e-11, f(   0.739085133420303)=-3.43e-10
f(   0.739085133187473)= 4.63e-11, f(   0.739085133303888)=-1.48e-10
f(   0.739085133187473)= 4.63e-11, f(   0.739085133245680)=-5.11e-11
f(   0.739085133187473)= 4.63e-11, f(   0.739085133216577)=-2.37e-12
f(   0.739085133202025)= 2.20e-11, f(   0.739085133216577)=-2.37e-12
f(   0.739085133209301)= 9.81e-12, f(   0.739085133216577)=-2.37e-12
f(   0.739085133212939)= 3.72e-12, f(   0.739085133216577)=-2.37e-12
f(   0.739085133214758)= 6.74e-13, f(   0.739085133216577)=-2.37e-12
f(   0.739085133214758)= 6.74e-13, f(   0.739085133215667)=-8.48e-13
f(   0.739085133214758)= 6.74e-13, f(   0.739085133215212)=-8.66e-14
f(   0.739085133214985)= 2.94e-13, f(   0.739085133215212)=-8.66e-14
f(   0.739085133215099)= 1.04e-13, f(   0.739085133215212)=-8.66e-14
f(   0.739085133215156)= 8.55e-15, f(   0.739085133215212)=-8.66e-14
f(   0.739085133215156)= 8.55e-15, f(   0.739085133215184)=-3.91e-14
f(   0.739085133215156)= 8.55e-15, f(   0.739085133215170)=-1.53e-14
f(   0.739085133215156)= 8.55e-15, f(   0.739085133215163)=-3.44e-15
f(   0.739085133215159)= 2.55e-15, f(   0.739085133215163)=-3.44e-15
f(   0.739085133215159)= 2.55e-15, f(   0.739085133215161)=-4.44e-16
f(   0.739085133215160)= 1.11e-15, f(   0.739085133215161)=-4.44e-16
f(   0.739085133215160)=1.110223e-15
samba01%


next up previous
Next: 7 レポート課題6 Up: 6 例題を解くプログラム例 Previous: 6.1 Newton 法の場合
Masashi Katsurada
平成20年10月18日