Man Linux: Main Page and Category List

NAME

       QwtSpline -

SYNOPSIS

Detailed Description

       A class for spline interpolation.

       The QwtSpline class is used for cubical spline interpolation. Two types
       of splines, natural and periodic, are supported.

       Usage:.RS 4

       1.  First call QwtSpline::recalc() to determine the spline coefficients
           for a tabulated function y(x).
       2.  After the coefficients have been set up, the interpolated function
           value for an argument x can be determined by calling
           QwtSpline::value().
       In order to save storage space, QwtSpline can be advised not to buffer
       the contents of x and y. This means that the arrays have to remain
       valid and unchanged for the interpolation to work properly. This can be
       achieved by calling QwtSpline::copyValues().
Example:.RS 4

#include<qwt_spline.h>
#include<iostream.h>
{
   for(i=0;i<300;i++)          // interpolate
   {
     xInter[i] = x[0] + double(i) * (x[29] - x[0]) / 299.0;
     yInter[i] = s.value( xInter[i] );
   }

   do_something(xInter, yInter, 300);
}
else
  cerr << ’Uhhh...0;
   Public Member Functions
       QwtSpline ()
       ~QwtSpline ()
       double value (double x) const
       int recalc (double *x, double *y, int n, int periodic=0)
       int recalc (const QwtArray< double > &x, const QwtArray< double > &y,
           int periodic=0)
       void copyValues (int tf=1)

Constructor & Destructor Documentation

   QwtSpline::QwtSpline ()
       CTOR.
       Definition at line 31 of file qwt_spline.cpp.
   QwtSpline::~QwtSpline ()
       DTOR.
       Definition at line 68 of file qwt_spline.cpp.

Member Function Documentation

   void QwtSpline::copyValues (int tf = 1)
       Advise recalc() to buffer the tabulated function or switch off internal
       buffering.
       By default, QwtSpline maintains an internal copy of the tabulated
       function given as *x and *y arguments of QwtSpline::recalc().
       If QwtSpline::copyValues() is called with zero argument, subsequent
       calls to QwtSpline::recalc() will not buffer these values anymore and
       just store the pointers instead. The QwtSpline::value() function will
       then silently assume that these pointers remained valid and that the
       contents of the arrays have not been changed since the last
       QwtSpline::recalc().
       If called with no or nonzero argument, any following
       QwtSpline::recalc() calls will use the internal buffer.
       Parameters:
           tf if nonzero, the function table will be buffered
       Warning:
           copyValues() resets all the contents of QwtSpline. A subsequent
           recalc() will be necessary.
       Definition at line 61 of file qwt_spline.cpp.
   int QwtSpline::recalc (const QwtArray< double > & x, const QwtArray< double
       > & y, int periodic = 0)
       re-calculate the spline coefficients
       Depending on the value of periodic, this function will determine the
       coefficients for a natural or a periodic spline and store them
       internally. It also buffers the values of x and y, which are needed for
       the interpolation (See QwtSpline::value()).
       Parameters:
           x QwtArray<double> of points
           y QwtArray<double> of points
           periodic if non-zero, calculate periodic spline
       Returns:
           0   successful
           Qwt::ErrMono<dd>Sequence of x values is not strictly monotone
           increasing
           Qwt::ErrNoMem<dd>Couldnt allocate memory
       Warning:
           The sequence of x (but not y) values has to be strictly monotone
           increasing, which means x[0] < x[1] < .... < x[n-1]. If this is not
           the case, the function will return an error.
       Definition at line 206 of file qwt_spline.cpp.
       References recalc().
   int QwtSpline::recalc (double * x, double * y, int n, int periodic = 0)
       re-calculate the spline coefficients
       Depending on the value of periodic, this function will determine the
       coefficients for a natural or a periodic spline and store them
       internally. By default, it also buffers the values of x and y, which
       are needed for the interpolation (See QwtSpline::value()). In order to
       save memory, this last behaviour may be changed with the
       QwtSpline::copyValues() function.
       Parameters:
           x .br y points
           n number of points
           periodic if non-zero, calculate periodic spline
       Returns:
           0   successful
           Qwt::ErrMono<dd>Sequence of x values is not strictly monotone
           increasing
           Qwt::ErrNoMem<dd>Couldnt allocate memory
       Warning:
           The sequence of x (but not y) values has to be strictly monotone
           increasing, which means x[0] < x[1] < .... < x[n-1]. If this is not
           the case, the function will return an error.
       Definition at line 127 of file qwt_spline.cpp.
       Referenced by QwtCurve::drawSpline(), and recalc().
   double QwtSpline::value (double x) const
       Calculate the interpolated function value corresponding to a given
       argument x. Definition at line 18 of file qwt_spline.cpp.
       Referenced by QwtCurve::drawSpline().

Author

       Generated automatically by Doxygen for Qwt User’s Guide from the source
       code.