06/01/28 00:22:53
>>14
とりあえず、誤差関数ERF(x)は持っていると仮定した。
表式が解析的に表されているので、微係数の式を求めた上で、ニュートン・ラフソン法でといた。
MODULE mod_sub
IMPLICIT NONE
CONTAINS
REAL FUNCTION f(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
REAL :: ERF
EXTERNAL :: ERF
f = ERF(x) - 2.0 * x**2 + x**3
END FUNCTION f
!
REAL FUNCTION fderiv(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
REAL :: pi
pi = 4.0 * ATAN(1.0)
fderiv = 2.0 / SQRT(pi) * EXP(-x**2) - 4.0 * x + 3.0 * x**2
END FUNCTION fderiv
END MODULE mod_sub
!