Previous: fitd2 Up: ../plot79_f.html Next: fitds


FITDIN

       SUBROUTINE  FITDIN (IENT, H, N, TNODE, G, END1, ENDN, B, C, D)
 C$    (ALG547 - Discrete Interpolating Cubic Spline)
 C$    This subroutine computes the discrete cubic spline  defined
 C$    on the interval (TNODE(1),TNODE(N)), which interpolates the
 C$    data (TNODE(I),G(I)),I=1,2,...,N.  We require that TNODE(I)
 C$    .LT. TNODE(I+1).  END1 and ENDN  contain the values of  the
 C$    end conditions being used.
 C$
 C$    If IENT  =  1, the  first  central divided  difference  end
 C$    conditions are being used.
 C$
 C$    If IENT  = 2,  the second  central divided  difference  end
 C$    conditions are being used.
 C$
 C$    IF IENT =  3, the periodic end conditions  are being  used.
 C$    For this  case the  contents of  G(N), END1,  and ENDN  are
 C$    ignored.
 C$
 C$    For all  three end  conditions N  must be  greater than  or
 C$    equal to 2.
 C$
 C$    The discrete cubic spline is represented by piecewise cubic
 C$    polynomials.  For T  in the internal  (TNODE(I),TNODE(I+1))
 C$    the cubic spline is
 C$
 C$    S(T)=G(I)+B(I)*(T-TNODE(I))
 C$                         +C(I)*(T-TNODE(I))**2
 C$                                  +D(I)*(T-TNODE(I))**3
 C$
 C$
 C$    Input parameters (none of  these parameters are changed  by
 C$    this subroutine.)
 C$
 C$    IENT......specifies end conditions which are in effect.
 C$    H.........the step size used for the discrete cubic spline.
 C$    N.........number of nodes (TNODE) and data values (G).
 C$              (N.GE.2)
 C$    TNODE(*)..REAL array containing the nodes (TNODE(I) .LT.
 C$              TNODE(I+1)).
 C$    G(*)......REAL array containing the interpolating data.
 C$    END1......end condition value at TNODE(1).
 C$    ENDN......end condition value at TNODE(N).
 C$
 C$    Output parameters
 C$
 C$    B.........REAL array containing coefficients of
 C$              (T-TNODE(I)),I=1,2,....,N-1.
 C$    C.........REAL array containing coefficients of
 C$              (T-TNODE(I))**2,I=1,2,...,N-1.
 C$    D.........REAL array containing coefficients of
 C$              (T-TNODE(I))**3,I=1,2,...,N-1.
 C$
 C$    This routine has been developed and described by
 C$
 C$    Charles S.  Duris,  "Discrete Interpolation  and  Smoothing
 C$    Spline Functions", SIAM J. Numer. Anal. 14, 686-698 (1977).
 C$
 C$    Charles S.  Duris, "Algorithm  547 -  FORTRAN routines  for
 C$    Discrete   Cubic   Spline   Interpolation   and   Smoothing
 C$    (E1),(E3)", ACM  Trans. Math.  Software  6, NO.  1,  92-103
 C$    (March 1980).
 C$
 C$    (03-APR-82)