《拉格朗日插值的fortran程序代码》由会员分享,可在线阅读,更多相关《拉格朗日插值的fortran程序代码(1页珍藏版)》请在金锄头文库上搜索。
拉格朗日插值的 fortran 程序代码LAGINT.F ! !根据给定点的函数值,应用拉格朗日插值公式,计算指定插值点处的 !函数值。 !在指定点的前后各取四个结点,用七次拉格朗日插值公式。 !X , Y 为输入参数,各有 N 个点 !T 为指定插入点 !Z 为输出参数,是插值点 T 处的近似值。 SUBROUTIONE LAGINT(X,Y,N ,T,Z) DIMENSION X(N), Y(N) DOUBLE PRECISION X,Y,T,X,S Z=0.0 IF (N.LE.0) RETURN IF(N.EQ.1) THEN Z=Y(1) ENDIF IF(N.EQ.2) THEN Z=(Y(1)*(T-X(2)-Y(2)*(T-X(1)/(X(1)-X(2) RETURN ENDIF I=1 10 IF(X(1) .LT. T) I=I+1 IF(I .LE. N) GOTO 10 ENDIF K=I-4 IF(K .LT. 1) K=1 M=I+3 IF( M .GT. N) M=N DO 30 I=K,M S=1.0 DO 20 J=K,M IF(J .NE. I) THEN S=S*(T-X(J)/(X(I)-X(J) ENDIF 20 CONTINUE Z=Z+S*Y(I) 30 CONTINUE RETURN END