Click or drag to resize

NaturalCubicSpline Class

Class NaturalCubicSpline represents a function determined by tabulated values. Function values are calculated using natural cubic spline interpolation.
Inheritance Hierarchy

Namespace:  CenterSpace.NMath.Core
Assembly:  NMath (in NMath.dll) Version: 7.4
Syntax
public class NaturalCubicSpline : CubicSpline

The NaturalCubicSpline type exposes the following members.

Constructors
  NameDescription
Public methodNaturalCubicSpline
Default constructor.
Public methodNaturalCubicSpline(DoubleVector, DoubleVector)
Constructs an instance of NaturalCubicSpline for the given paired vectors of x- and y-values.
Top
Properties
  NameDescription
Public propertyDifferentiator
Gets and sets the differentiation method object associated with this function.
(Inherited from OneVariableFunction.)
Public propertyFunc
Gets the function encapsulated by this object.
(Inherited from OneVariableFunction.)
Public propertyIntegrator
Gets and sets the integration method object associated with this function.
(Inherited from OneVariableFunction.)
Public propertyNumberOfTabulatedValues
Gets the number of tabulated values.
(Inherited from TabulatedFunction.)
Public propertySecondDerivativeAtControlPoints
The second derivative at each control point of the cubic spline.
(Inherited from CubicSpline.)
Top
Methods
  NameDescription
Public methodClone
Creates a deep copy of this natural cubic spline.
(Overrides OneVariableFunctionClone.)
Protected methodCoreEvaluate
Public methodDerivative
Returns the first derivative of this function.
(Inherited from OneVariableFunction.)
Public methodDifferentiate
Computes the numerical derivative of the current function at the given x-value.
(Inherited from OneVariableFunction.)
Public methodEvaluate(Double)
Evaluates the current function at the given x-value.
(Inherited from OneVariableFunction.)
Public methodEvaluate(DoubleVector)
Evaluates the current function at the given set of x-values.
(Inherited from OneVariableFunction.)
Public methodEvaluate(OneVariableFunction)
Creates a composite function.
(Inherited from OneVariableFunction.)
Protected methodEvaluateWithCubicSpline
Public methodGetX
Returns the value of the tabulated independent values at the specified index.
(Inherited from TabulatedFunction.)
Public methodGetXs
Gets the x, or independent, values represented by this function.
(Inherited from TabulatedFunction.)
Public methodGetXVector
Gets the x, or independent, values represented by this function.
(Inherited from TabulatedFunction.)
Public methodGetY
Returns the value of the tabulated dependent values at the specified index.
(Inherited from TabulatedFunction.)
Public methodGetYs
Gets the y, or dependent, values represented by this function.
(Inherited from TabulatedFunction.)
Public methodGetYVector
Gets the y, or dependent, values represented by this function.
(Inherited from TabulatedFunction.)
Public methodIntegrate
Computes the integral of the current function over the specified interval.
(Inherited from OneVariableFunction.)
Protected methodLinearInterpolation
Handles the case when there are exactly two tabulated points.
(Overrides CubicSplineLinearInterpolation(Double).)
Protected methodParabolicInterpolation
Handles the case when there are exactly three tabulated points.
(Overrides CubicSplineParabolicInterpolation(Double).)
Protected methodProcessTabulatedValues
Calculates the values for the second derivatives. From "Numerical Recipes" section 3.3
(Overrides TabulatedFunctionProcessTabulatedValues.)
Public methodSetTabulatedValues(DoubleVector, DoubleVector)
Changes the values of the tabulated function.
(Inherited from TabulatedFunction.)
Public methodSetTabulatedValues(Int32, Double, Double)
Set the values of the tabulated point at the specified index to the specified value.
(Inherited from TabulatedFunction.)
Public methodSetTabulatedValues(Range, DoubleVector, DoubleVector)
Sets the the tabulated point values in the specifed range to the specified values.
(Inherited from TabulatedFunction.)
Public methodSetX(Int32, Double)
Sets the value of the independent tabulated value at the specified index to the specified value.
(Inherited from TabulatedFunction.)
Public methodSetX(Range, DoubleVector)
Sets the the tabulated independent values in the specifed range to the specified values.
(Inherited from TabulatedFunction.)
Public methodSetY(Int32, Double)
Sets the value of the dependent tabulated value at the specified index to the specified value.
(Inherited from TabulatedFunction.)
Public methodSetY(Range, DoubleVector)
Sets the the tabulated dependent values in the specifed range to the specified values.
(Inherited from TabulatedFunction.)
Top
Fields
  NameDescription
Protected fielddifferentiator_
Differentiator
(Inherited from OneVariableFunction.)
Protected fieldfunction_
Captured function
(Inherited from OneVariableFunction.)
Protected fieldintegrator_
Integrator
(Inherited from OneVariableFunction.)
Protected fieldxi_
Tabulated independent function values.
(Inherited from TabulatedFunction.)
Protected fieldyDoublePrime_
(Inherited from CubicSpline.)
Protected fieldyi_
Tabulated dependent function values.
(Inherited from TabulatedFunction.)
Top
Remarks
The natural cubic spline is a cubic spline where the second derivative of the interpolating function is required to be zero at the left and right endpoints.
Evaluating x-values outside the range of tabulated values returns the last know y-value.
See Also