rtbis.f90

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

F90
28
字号
FUNCTION rtbis(func,x1,x2,xacc)
INTEGER JMAX
REAL rtbis,x1,x2,xacc,func
EXTERNAL func
PARAMETER (JMAX=40)
INTEGER j
REAL dx,f,fmid,xmid
fmid=func(x2)
f=func(x1)
if(f*fmid>=0.)&
          pause 'root must be bracketed in rtbis'
if(f<0.)then
  rtbis=x1
  dx=x2-x1
else
  rtbis=x2
  dx=x1-x2
endif
do j=1,JMAX
  dx=dx*.5
  xmid=rtbis+dx
  fmid=func(xmid)
  if(fmid<=0.)rtbis=xmid
  if(abs(dx)<xacc .or. fmid==0.) return
end do
pause 'too many bisections in rtbis'
END FUNCTION rtbis

⌨️ 快捷键说明

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