mod_nr.f90
来自「1D有限差分波动方程模拟」· F90 代码 · 共 60 行
F90
60 行
MODULE MOD_NRUSE NRTYPE! module contains procedures from Numerical Recepies! note: procedures may be slightly modifiedIMPLICIT NONE!-------------------------------------------------------- implementationCONTAINS!---------------------------------------------------------------- POLINT SUBROUTINE POLINT(XA,YA,X,Y,N) IMPLICIT NONE INTEGER :: N, I REAL(DP), DIMENSION(:) :: XA, YA REAL(DP) :: X , Y Y=0 IF ( XA(1)<XA(N) ) THEN DO I = 1, N-1 IF ( X == XA(I ) ) THEN Y = YA(I) RETURN ELSE IF ( X == XA(I+1) ) THEN Y = YA(I+1) RETURN ELSE IF ( X < XA(I+1) ) THEN Y = (YA(I+1)-YA(I))/(XA(I+1)-XA(I))*(X-XA(I))+YA(I) RETURN END IF END DO ELSE DO I = 1, N-1 IF ( X == XA(I ) ) THEN Y = YA(I) RETURN ELSE IF ( X == XA(I+1) ) THEN Y = YA(I+1) RETURN ELSE IF ( X > XA(I+1) ) THEN Y = (YA(I+1)-YA(I))/(XA(I+1)-XA(I))*(X-XA(I))+YA(I) RETURN END IF END DO END IF END SUBROUTINE POLINTEND MODULE MOD_NR
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?