Files
piscal/dataassim/math/numrec/f77_sources/rtnewt.for
T
2016-02-03 18:52:05 +00:00

19 lines
500 B
Fortran

FUNCTION rtnewt(funcd,x1,x2,xacc)
INTEGER JMAX
REAL rtnewt,x1,x2,xacc
EXTERNAL funcd
PARAMETER (JMAX=20)
INTEGER j
REAL df,dx,f
rtnewt=.5*(x1+x2)
do 11 j=1,JMAX
call funcd(rtnewt,f,df)
dx=f/df
rtnewt=rtnewt-dx
if((x1-rtnewt)*(rtnewt-x2).lt.0.)pause
*'rtnewt jumped out of brackets'
if(abs(dx).lt.xacc) return
11 continue
pause 'rtnewt exceeded maximum iterations'
END