yat  0.21pre
Public Member Functions | List of all members
theplu::yat::regression::CSplinePeriodicInterpolation Class Reference

Cubic spline with periodic boundary conditions. More...

#include <yat/regression/CSplinePeriodicInterpolation.h>

Inheritance diagram for theplu::yat::regression::CSplinePeriodicInterpolation:
theplu::yat::regression::GSLInterpolation

Public Member Functions

 CSplinePeriodicInterpolation (const utility::VectorBase &x, const utility::VectorBase &y)
 The default constructor.
 
 ~CSplinePeriodicInterpolation (void)
 The destructor.
 
double evaluate (double x)
 Calculate the interpolated value for x. More...
 
double evaluate_derivative (double x)
 Calculate the derivative of the interpolated function at x. More...
 
double evaluate_derivative2 (double x)
 Calculate the 2nd derivative of the interpolated function at x. More...
 
double evaluate_integral (double a, double b)
 Calculate the numerical integral of the interpolated function over the range $ [a,b] $. More...
 
double evaluation (void) const
 The result of the latest evaluaion function call is stored and can be retrieved with this function. More...
 
unsigned int min_size (void) const
 This function returns the minimum number of points required by the interpolation type. More...
 

Detailed Description

Cubic spline with periodic boundary conditions.

The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The derivatives at the first and last points are also matched. Note that the last point in the data must have the same y-value as the first point, otherwise the resulting periodic interpolation will have a discontinuity at the boundary.

See also
Please refer to the base class documentation for genereal introduction to the GSL based interpolation methods.
Since
New in yat 0.5

Member Function Documentation

◆ evaluate()

double theplu::yat::regression::GSLInterpolation::evaluate ( double  x)
inherited

Calculate the interpolated value for x.

Returns
The interpolated value of $ y $ for a given point x.
Exceptions
GSL_errorif evaluation is requested outside the range defined by the interpolation algorithm.

◆ evaluate_derivative()

double theplu::yat::regression::GSLInterpolation::evaluate_derivative ( double  x)
inherited

Calculate the derivative of the interpolated function at x.

Returns
The derivative.
Exceptions
GSL_errorif evaluation is requested outside the range defined by the interpolation algorithm.

◆ evaluate_derivative2()

double theplu::yat::regression::GSLInterpolation::evaluate_derivative2 ( double  x)
inherited

Calculate the 2nd derivative of the interpolated function at x.

Returns
The 2nd derivative.
Exceptions
GSL_errorif evaluation is requested outside the range defined by the interpolation algorithm.

◆ evaluate_integral()

double theplu::yat::regression::GSLInterpolation::evaluate_integral ( double  a,
double  b 
)
inherited

Calculate the numerical integral of the interpolated function over the range $ [a,b] $.

Returns
The integral.
Exceptions
GSL_errorif evaluation is requested outside the range defined by the interpolation algorithm.

◆ evaluation()

double theplu::yat::regression::GSLInterpolation::evaluation ( void  ) const
inherited

The result of the latest evaluaion function call is stored and can be retrieved with this function.

Returns
The latest evaluated value.

◆ min_size()

unsigned int theplu::yat::regression::GSLInterpolation::min_size ( void  ) const
inherited

This function returns the minimum number of points required by the interpolation type.

For example, Akima spline interpolation requires a minimum of 5 points.

Returns
The minimum number of points required.

The documentation for this class was generated from the following file:

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14