Previous: fitds Up: ../plot79_f.html Next: fitin
SUBROUTINE FITDSM (H, N, TNODE, G, WGS, RHO, GSMO, B, C, D)
C$ (ALG547 - Discrete Smoothing Cubic Spline)
C$ This subroutine computes the discrete natural cubic spline
C$ defined on the interval (TNODE(1),TNODE(N)) which smooths
C$ through the data (TNODE(I),G(I)),I=1,2,...,N. N must be 2
C$ or greater. The nodes must satisfy TNODE(I) .LT.
C$ TNODE(I+1). The solution S(T) for T in the interval
C$ (TNODE(I),TNODE(I+1)) is given by
C$
C$ S(T)=GSMO(I)+B(I)*(T-TNODE(I))+
C$ C(I)*(T-TNODE(I))**2+D(I)*(T-TNODE(I))**3
C$
C$
C$ Input parameters (none of the input parameters are changed
C$ by this subroutine)
C$
C$ H.........the step size used for the discrete cubic spline
C$ N.........number of nodes (TNODE) and data values (G)
C$ TNODE(*)..REAL array containing the nodes (TNODE(I) .LT.
C$ TNODE(I+1)).
C$ G(*)......REAL array containing the data values.
C$ WGS(*)....REAL array containing the weights WGS(I)
C$ corresponding to the data (TNODE(I),G(I)).
C$ RHO.......simple REAL variable containing the positive
C$ parameter for varying the smoothness of the fit.
C$ If RHO is small smoothness is emphasized. If RHO
C$ is large data fitting is emphasized.
C$
C$ Output parameters
C$
C$ GSMO(*)...REAL array containing the smoothed values of
C$ the data G(I),I=1,2,....,N.
C$ B(*)......REAL array containing the coefficients B(I) for
C$ the terms (T-TNODE(I)).
C$ C(*)......REAL array containing the coefficients C(I) for
C$ the terms (T-TNODE(I))**2.
C$ D(*)......REAL array containing the coefficients D(I) for
C$ the terms (T-TNODE(I))**3.
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)