bessi1.f90

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

F90
26
字号
FUNCTION bessi1(x)
REAL bessi1,x
REAL ax
DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,q1,q2,&
                 q3,q4,q5,q6,q7,q8,q9,y
SAVE p1,p2,p3,p4,p5,p6,p7,q1,q2,q3,q4,q5,q6,q7,q8,q9
DATA p1,p2,p3,p4,p5,p6,p7/0.5d0,0.87890594d0,&
     0.51498869d0,0.15084934d0,0.2658733d-1,&
	 0.301532d-2,0.32411d-3/
DATA q1,q2,q3,q4,q5,q6,q7,q8,q9/0.39894228d0,&
     -0.3988024d-1,-0.362018d-2,0.163801d-2,&
	 -0.1031555d-1,0.2282967d-1,-0.2895312d-1,&
     0.1787654d-1,-0.420059d-2/
if (abs(x)<3.75) then
  y=(x/3.75)**2
  bessi1=x*(p1+y*(p2+y*(p3+y*(p4+y*(p5+y*(p6+y*p7))))))
else
  ax=abs(x)
  y=3.75/ax
  bessi1=(exp(ax)/sqrt(ax))*(q1+y*(q2+y*(q3+y*(q4+y*&
         (q5+y*(q6+y*(q7+y*(q8+y*q9))))))))
  if(x<0.)bessi1=-bessi1
endif
END FUNCTION bessi1

⌨️ 快捷键说明

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