Click or drag to resize

SmoothingCubicSpline Class

Calculates a smoothing cubic spline, whose smoothness is determined by the property Smoothness.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.InterpolationCurveBase
    Altaxo.Calc.InterpolationSmoothingCubicSplineBase
      Altaxo.Calc.InterpolationSmoothingCubicSpline

Namespace: Altaxo.Calc.Interpolation
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class SmoothingCubicSpline : SmoothingCubicSplineBase, 
	IInterpolationFunction, IInterpolationCurve

The SmoothingCubicSpline type exposes the following members.

Constructors
 NameDescription
Public methodSmoothingCubicSpline Create an instance of SmoothingCubicSpline with a default value for Smoothness of 1.
Top
Properties
 NameDescription
Public propertyCalculateStandardErrorEstimates If true, standard error estimates are calculated and provided in ErrorEstimate.
(Inherited from SmoothingCubicSplineBase)
Public propertyCheckArguments If true, the array given as arguments are checked.
(Inherited from SmoothingCubicSplineBase)
Public propertyCoefficient0 Returns the spline coefficient of order 0. This are the splined y values at the positions given by x.
(Inherited from SmoothingCubicSplineBase)
Public propertyCoefficient1 Returns the spline coefficient of order 1 (linear term).
(Inherited from SmoothingCubicSplineBase)
Public propertyCoefficient2 Returns the spline coefficient of order 2 (quadratic term).
(Inherited from SmoothingCubicSplineBase)
Public propertyCoefficient3 Returns the spline coefficient of order 2 (cubic term).
(Inherited from SmoothingCubicSplineBase)
Public propertyCombineNeighbouringPoints If true, points with x values that are very similar are combined into one point, which helds the average value of x and y
(Inherited from SmoothingCubicSplineBase)
Public propertyErrorEstimate Returns the error estimates of the y points.
(Inherited from SmoothingCubicSplineBase)
Public propertyErrorStandardDeviation If the error standard deviation of the provided points is unknown, set this value to -1. Then a cross validating cubic spline is fitted to the data. If the error standard deviation is known and is equal for all points, set this value to the error standard deviation of the points. If the error standard deviation is known and different for each point, set this value to 1, and provide the error standard deviation for each point by calling Interpolate(IReadOnlyListDouble, IReadOnlyListDouble, Double, IReadOnlyListDouble).
(Inherited from SmoothingCubicSplineBase)
Public propertyEstimatedDegreesOfFreedom Estimate of the number of degrees of freedom of the residual sum of squares which reduces to the usual value of n-2 when a least squares regression line was calculated.
(Inherited from SmoothingCubicSplineBase)
Public propertyEstimatedErrorVariance Estimate of the error variance. The value coincides with the output value of var if var is negative on input. It is calculated with the unscaled values of the df[i] to facilitate comparisons with a priori variance estimates.
(Inherited from SmoothingCubicSplineBase)
Public propertyEstimatedTrueMeanSquareError Estimate of the true mean square error at the data points.
(Inherited from SmoothingCubicSplineBase)
Public propertyGeneralizedCrossValidation Generalized cross validation.
(Inherited from SmoothingCubicSplineBase)
Public propertyMeanSquareOfInputStandardDeviation Mean square value of the standard deviations in dy[i] (if they were provided). The values of GeneralizedCrossValidation, MeanSquareResidual and EstimatedTrueMeanSquareError are calculated with the dy[i] scaled to have a mean square value 1. The unscaled values of GeneralizedCrossValidation, MeanSquareResidual and EstimatedTrueMeanSquareError may be calculated by dividing by this value.
(Inherited from SmoothingCubicSplineBase)
Public propertyMeanSquareResidual Mean square residual.
(Inherited from SmoothingCubicSplineBase)
Public propertySmoothingParameter Smoothing parameter = rho/(rho+1), that varies between 0 (not smoothed) and 1 (full smoothed). If the value is 0 (rho=0) an interpolating natural cubic spline has been calculated. If the value is 1 (rho=infinite) a least squares regression line has been calculated.
(Inherited from SmoothingCubicSplineBase)
Public propertySmoothness Get/sets the smoothness parameter. Must be in the interval [0,Infinity], where a value of 0 means no smoothing (evaluation of a cubic spline), while a value of Infinity means evaluation of a regression.
Top
Methods
 NameDescription
Public methodCubicSplineCoefficients Calculate the spline coefficients y2(i) and y3(i) for a natural cubic spline, given the abscissa x(i), the ordinate y(i), and the 1st derivative y1(i).
(Inherited from CurveBase)
Public methodCubicSplineHorner Return the interpolation value P(u) for a piecewise cubic curve determined by the abscissa vector x, the ordinate vector y, the 1st derivative vector y1, the 2nd derivative vector y2, and the 3rd derivative vector y3, using the Horner scheme.
(Inherited from CurveBase)
Public methodCubicSplineHorner1stDerivative
(Inherited from CurveBase)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetCurvePoints Get curve points to draw an interpolation curve between the abscissa values xlo and xhi. It calls the virtual methods MpCurveBase::GetXOfU() and GetYOfU() to obtain the interpolation values. Note, that before method DrawCurve() can be called the method Interpolate() must have been called. Otherwise, not interpolation is available.
(Inherited from CurveBase)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetXOfU
(Inherited from SmoothingCubicSplineBase)
Public methodGetY1stDerivativeOfX
(Inherited from SmoothingCubicSplineBase)
Public methodGetYOfU
(Inherited from SmoothingCubicSplineBase)
Public methodGetYOfX
(Inherited from SmoothingCubicSplineBase)
Public methodInterpolate(IReadOnlyListDouble, IReadOnlyListDouble) Evaluates either a cross validated cubic spline (if ErrorStandardDeviation is negative, or a smoothing cubic spline (if ErrorStandardDeviation is greater than or equal to zero).
(Inherited from SmoothingCubicSplineBase)
Public methodInterpolate(IReadOnlyListDouble, IReadOnlyListDouble, Double) Evaluates either a cross validated cubic spline (standardDeviation set to a negative value), or a smoothing cubic spline (standardDeviation set to a non-negative value).
(Inherited from SmoothingCubicSplineBase)
Public methodInterpolate(IReadOnlyListDouble, IReadOnlyListDouble, Double, IReadOnlyListDouble) Evaluates either a cross validated cubic spline (standardDeviation set to a negative value), or a smoothing cubic spline (standardDeviation set to a non-negative value).
(Inherited from SmoothingCubicSplineBase)
Protected methodInterpolationKernel
(Overrides SmoothingCubicSplineBaseInterpolationKernel(Double, Double, Double, Int32, Double, Double, Int32, Double, Int32, Double, Double, Double, Double, Double, Int32))
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodNotExecutedException
(Inherited from SmoothingCubicSplineBase)
Public methodParametrize Curve length parametrization. Returns the accumulated "distances" between the points (x(i),y(i)) and (x(i+1),y(i+1)) in t(i+1) for i = lo ... hi. t(lo) = 0.0 always.
(Inherited from CurveBase)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected field_c
(Inherited from SmoothingCubicSplineBase)
Protected field_c0Vec
(Inherited from SmoothingCubicSplineBase)
Protected field_c1Vec
(Inherited from SmoothingCubicSplineBase)
Protected field_c2Vec
(Inherited from SmoothingCubicSplineBase)
Protected field_c3Vec
(Inherited from SmoothingCubicSplineBase)
Protected field_df
(Inherited from SmoothingCubicSplineBase)
Protected field_f
(Inherited from SmoothingCubicSplineBase)
Protected field_fVec
(Inherited from SmoothingCubicSplineBase)
Protected field_se
(Inherited from SmoothingCubicSplineBase)
Protected field_seVec
(Inherited from SmoothingCubicSplineBase)
Protected field_smoothness 
Protected field_standardDeviation
(Inherited from SmoothingCubicSplineBase)
Protected field_wkr
(Inherited from SmoothingCubicSplineBase)
Protected field_wkt
(Inherited from SmoothingCubicSplineBase)
Protected field_wku
(Inherited from SmoothingCubicSplineBase)
Protected field_wkv
(Inherited from SmoothingCubicSplineBase)
Protected field_x
(Inherited from SmoothingCubicSplineBase)
Protected field_xVec
(Inherited from SmoothingCubicSplineBase)
Protected field_y0
(Inherited from SmoothingCubicSplineBase)
Protected fieldxReference to the vector of the independent variable.
(Inherited from CurveBase)
Protected fieldyReference to the vector of the dependent variable.
(Inherited from CurveBase)
Top
See Also