program prog072 c c This program solves the equation c*x = exp(-x) c by using Newton's method. implicit real*8 (a-h,o-z) c c Statement function (文関数) f(x)=c*x - exp(-x) df(x)=c + exp(-x) c 初期設定 ------------------------------------------------------------* eps = 1.0d-10 ! 数値解の誤差 c 初期設定終り。 ------------------------------------------------------* c 実際の計算 ----------------------------------------------------------* do m = 1,50 c = m*0.1d0 ! さまざまな c について調べる。 x = 0.0d0 n1 = 1 do n=1,1000 fx = f(x) n1 = n if(abs(fx).lt.eps) goto 20 ! 誤差が小さければ終り。 dx = -fx/df(x) ! Newton 法 x = x + dx enddo 20 continue write(*,100) c, x, n1 ! 最終的な答えと何回で収束したかを書く end do c 実際の計算終り。 ----------------------------------------------------* 100 format(2(1x,f15.7),1x,i4) end