⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shoot.f90

📁 FORTRANvisualfortran常用数值算法集及源码
💻 F90
字号:
SUBROUTINE shoot(nvar,v,delv,n2,x1,x2,eps,h1,hmin,&
                 f,dv)
EXTERNAL derivs,rkqc
PARAMETER (np=20)
!USES ideint,score,load,ludcmp,lubksb
DIMENSION v(n2),delv(n2),f(n2),dv(n2),y(np),&
          dfdv(np,np),indx(np)
REAL sav,x1,x2,eps,h1,hmin
INTEGER n2,iv,i
call load(x1,v,y)
call odeint(y,nvar,x1,x2,eps,h1,hmin,nok,nbad,&
            derivs,rkqc)
call score(x2,y,f)
do iv=1,n2
  sav=v(iv)
  v(iv)=v(iv)+delv(iv)
  call load(x1,v,y)
  call odeint(y,nvar,x1,x2,eps,h1,hmin,nok,nbad,&
              derivs,rkqc)
  call score(x2,y,dv)
  do i=1,n2
    dfdv(i,iv)=(dv(i)-f(i))/delv(iv)
  end do
  v(iv)=sav
end do
do iv=1,n2
  dv(iv)=-f(iv)
end do
call ludcmp(dfdv,n2,np,indx,det)
call lubksb(dfdv,n2,np,indx,dv)
do iv=1,n2
  v(iv)=v(iv)+dv(iv)
end do
END SUBROUTINE shoot

⌨️ 快捷键说明

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