SUBROUTINE EELG3(X1,H,N,Y,T,Z)
    REAL X1,H,Y(N),T,Z,S,XI,XJ
    Z=0.0
    IF (N.LE.0) RETURN
    IF (N.EQ.1) THEN
      Z=Y(1)
      RETURN
    END IF
    IF (N.EQ.2) THEN
      Z=(Y(2)*(T-X1)-Y(1)*(T-X1-H))/H
      RETURN
    END IF
    IF (T.LE.(X1+H)) THEN
      K=1
      M=3
    ELSE IF (T.GE.(X1+(N-2)*H)) THEN
      K=N-2
      M=N
    ELSE
      I=(T-X1)/H+1
      IF (ABS(T-X1-I*H).GE.ABS(T-X1-(I-1)*H)) THEN
        K=I-1
        M=I+1
      ELSE
        K=I
        M=I+2
      END IF
    END IF
    Z=0.0
    DO 30 I=K,M
      S=1.0
      XI=X1+(I-1)*H
      DO 20 J=K,M
        IF (J.NE.I) THEN
          XJ=X1+(J-1)*H
          S=S*(T-XJ)/(XI-XJ)
        END IF
20      CONTINUE
      Z=Z+S*Y(I)
30    CONTINUE
    RETURN
END
这是一元三点等距插值程序 插值很理想,如果我想得到在节点上插值的次数和在节点外插值的次数怎么改这个程序呢 ,哪位高手帮指点,数据中有小部分是刚好在节点上的,要返回次数.参数中多加一个i i该怎么求得?