mnewt.f90

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

F90
25
字号
SUBROUTINE mnewt(ntrial,x,n,tolx,tolf)
INTEGER n,ntrial,NP
REAL tolf,tolx,x(n)
PARAMETER (NP=15)
!USES lubksb,ludcmp,usrfun
INTEGER i,k,indx(n)
REAL d,errf,errx,fjac(NP,NP),fvec(NP),p(NP)
do k=1,ntrial
  call usrfun(x,n,np,fjac,fvec)
  errf=0.
  do i=1,n
    errf=errf+abs(fvec(i))
  end do
  if(errf<=tolf) return
  call ludcmp(fjac,n,np,indx,d)
  call lubksb(fjac,n,np,indx,fvec)
  errx=0.
  do i=1,n
    errx=errx+abs(fvec(i))
    x(i)=x(i)+fvec(i)
  end do
  if(errx<=tolx) return
end do
END SUBROUTINE mnewt

⌨️ 快捷键说明

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