splint.f90
来自「FORTRANvisualfortran常用数值算法集及源码」· F90 代码 · 共 29 行
F90
29 行
SUBROUTINE splint(xa,ya,y2a,n,x,y)
INTEGER n
REAL aaa,x,y,xa(n),y2a(n),ya(n)
INTEGER k,khi,klo
REAL a,b,h
klo=1
khi=n
do
aaa=0
if (khi-klo>1) then
aaa=2.
k=(khi+klo)/2
if(xa(k)>x) then
khi=k
else
klo=k
endif
if(.not.aaa>1.) exit
endif
if(.not.aaa>1.) exit
end do
h=xa(khi)-xa(klo)
if (h==0.) pause 'bad xa input in splint'
a=(xa(khi)-x)/h
b=(x-xa(klo))/h
y=a*ya(klo)+b*ya(khi)+((a**3-a)*y2a(klo)+(b**3-b)*&
y2a(khi))*(h**2)/6.
END SUBROUTINE splint
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?