rtsec.f90

来自「FORTRANvisualfortran常用数值算法集及源码」· F90 代码 · 共 30 行

F90
30
字号
FUNCTION rtsec(func,x1,x2,xacc)
INTEGER MAXIT
REAL rtsec,x1,x2,xacc,func
EXTERNAL func
PARAMETER (MAXIT=30)
INTEGER j
REAL dx,f,fl,swap,xl
fl=func(x1)
f=func(x2)
if(abs(fl)<abs(f)) then
  rtsec=x1
  xl=x2
  swap=fl
  fl=f
  f=swap
else
  xl=x1
  rtsec=x2
endif
do j=1,MAXIT
  dx=(xl-rtsec)*f/(f-fl)
  xl=rtsec
  fl=f
  rtsec=rtsec+dx
  f=func(rtsec)
  if(abs(dx)<xacc.or.f==0.) return
end do
pause 'rtsec exceed maximum iterations'
END FUNCTION rtsec

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?