QwtSpline(3) Qwt User's Guide QwtSpline(3)

QwtSpline - A class for spline interpolation.

#include <qwt_spline.h>


enum SplineType { Natural, Periodic }
Spline type.


QwtSpline ()
Constructor. QwtSpline (const QwtSpline &)
~QwtSpline ()
Destructor. QwtSpline & operator= (const QwtSpline &)
void setSplineType (SplineType)
SplineType splineType () const
bool setPoints (const QPolygonF &points)
Calculate the spline coefficients. QPolygonF points () const
void reset ()
Free allocated memory and set size to 0. bool isValid () const
True if valid. double value (double x) const
const QVector< double > & coefficientsA () const
const QVector< double > & coefficientsB () const
const QVector< double > & coefficientsC () const


bool buildNaturalSpline (const QPolygonF &)
Determines the coefficients for a natural spline. bool buildPeriodicSpline (const QPolygonF &)
Determines the coefficients for a periodic spline.

A class for spline interpolation.

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

Usage:

1.
First call setPoints() 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().

Example:

#include <qwt_spline.h>
QPolygonF interpolate(const QPolygonF& points, int numValues)
{
    QwtSpline spline;
    if ( !spline.setPoints(points) )
        return points;
    QPolygonF interpolatedPoints(numValues);
    const double delta =
        (points[numPoints - 1].x() - points[0].x()) / (points.size() - 1);
    for(i = 0; i < points.size(); i++)  / interpolate
    {
        const double x = points[0].x() + i * delta;
        interpolatedPoints[i].setX(x);
        interpolatedPoints[i].setY(spline.value(x));
    }
    return interpolatedPoints;
}

Spline type.

Enumerator

A natural spline.
A periodic spline.

Copy constructor

Parameters:

other Spline used for initialization

Determines the coefficients for a natural spline.

Returns:

true if successful

Determines the coefficients for a periodic spline.

Returns:

true if successful

Returns:

A coefficients

Returns:

B coefficients

Returns:

C coefficients

QwtSpline & QwtSpline::operator= (const QwtSpline & other)

Assignment operator

Parameters:

other Spline used for initialization

Returns:

*this

Returns:

Points, that have been by setPoints()

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.

Parameters:

points Points

Returns:

true if successful

Warning:

The sequence of x (but not y) values has to be strictly monotone increasing, which means points[i].x() < points[i+1].x(). If this is not the case, the function will return false

Select the algorithm used for calculating the spline

Parameters:

splineType Spline type

See also:

splineType()

QwtSpline::SplineType QwtSpline::splineType () const

Returns:

the spline type

See also:

setSplineType()

Calculate the interpolated function value corresponding to a given argument x.

Parameters:

x Coordinate

Returns:

Interpolated coordinate

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

Wed Jan 2 2019 Version 6.1.4