logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

CURVS - calculate values for a smoothing spline

Access

       To use CURVS, load the NCAR Graphics library ngmath.

Description

       N           (integer, input) The number of input data values. (N > 1)

       X           (integer, input) An array containing the abscissae for the input  function.   These  must  be
                   increasing values.

       Y           (integer,  input) An array containing the functional values for the input function -- Y(K) is
                   the functional value at X(K) for K=1,N.

       D           (integer, input) A user-specified value containing the observed weights. D may be  either  an
                   array or a scalar, depending on the value of ISW (as described below).

       ISW         (integer,  input)  A  switch for interpreting the value of D. If ISW=0, then D is an array of
                   length N (D contains an individual error estimate for each input data value); if ISW=1,  then
                   D is a scalar that serves as an error estimate for every single data item.

       S           (integer, input) Contains the value for smoothing. S must be non-negative.  Larger values for
                   S yield greater smoothing. A reasonable value is REAL(N).

       EPS         (integer,  input)  Contains a tolerance value for the relative precision to which S should be
                   interpreted.  EPS  must  be  between  0.  and  1.   inclusive.    A   reasonable   value   is
                   SQRT(2./REAL(N)).

       YS          (integer, input) An array of length N.

       YSP         (integer, input) An array of length N.

       SIGMA       (integer,  input)  Tension  factor.  Values  near zero result in a cubic spline; large values
                   (e.g. 50) result in nearly a polygonal line. A typical value is 1.

       TEMP        (integer, input) Scratch space.

       IER         (integer, output) An error return value.  If IER is  returned  as  0,  then  no  errors  were
                   detected.

                   = 1 if N is less than 2.
                   = 2 if S is negative.
                   = 3 if EPS is negative or greater than 1.
                   = 4 if X values are not strictly increasing.
                   = 5 if D is negative.

Name

       CURVS - calculate values for a smoothing spline

See Also

       curv2, fitgrid_params.

       Complete documentation for Fitgrid is available at URL
       http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html

Synopsis

       CALL CURVS (N, X, Y, D, ISW, S, EPS, YS, YSP, SIGMA, TEMP, IER)

       This  subroutine  calculates  certain  values that are used by CURV2 in order to compute an interpolatory
       smoothing spline under tension through a sequence of functional values. The  actual  computation  of  the
       interpolated values must be done using CURV2.

       Three parameters are used to control the degree of smoothness -- D, S, and EPS.

       The  parameter  D  is  a  value indicating the degree of confidence in the accuracy of the input function
       values -- it should be an approximation of the standard deviation of error. Effectively the  value  of  D
       controls how close the smoothed curve comes to the input data points. If D is small then the interpolated
       curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has
       in how close it comes to the input data values.

       S  is  a  more  subtle  global  smoothing  parameter. S must be non-negative.  For small values of S, the
       interpolated curve approximates the tension spline and for larger values of S, the curve is  smoother.  A
       reasonable value for S is REAL(N).

       EPS  controls  the  precision  to  which  S  is  interpreted; EPS must be between 0. and 1.  inclusive. A
       reasonable value for EPS is SQRT(2./REAL(N)).

See Also