- Extreme Optimization
- Documentation
- Reference
- Extreme
- Extreme.Collections
- Extreme.Data
- Extreme.Data.Json
- Extreme.Data.Matlab
- Extreme.Data.R
- Extreme.Data.Stata
- Extreme.Data.Text
- Extreme.DataAnalysis
- Extreme.DataAnalysis.Linq
- Extreme.Mathematics
- Extreme.Mathematics.Algorithms
- Extreme.Mathematics.Calculus
- Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
- Extreme.Mathematics.Curves
- Extreme.Mathematics.Curves.Nonlinear
- Extreme.Mathematics.Distributed
- Extreme.Mathematics.Distributed.Cuda
- Extreme.Mathematics.EquationSolvers
- Extreme.Mathematics.FSharp
- Extreme.Mathematics.Generic
- Extreme.Mathematics.Generic.LinearAlgebra
- Extreme.Mathematics.Generic.LinearAlgebra.Implementation
- Extreme.Mathematics.Generic.LinearAlgebra.Providers
- Extreme.Mathematics.Generic.SignalProcessing
- Extreme.Mathematics.Implementation
- Extreme.Mathematics.LinearAlgebra
- Extreme.Mathematics.LinearAlgebra.Complex
- Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
- Extreme.Mathematics.LinearAlgebra.Implementation
- Extreme.Mathematics.LinearAlgebra.IO
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
- Extreme.Mathematics.LinearAlgebra.Providers
- Extreme.Mathematics.LinearAlgebra.Sparse
- Extreme.Mathematics.Optimization
- Extreme.Mathematics.Optimization.Genetic
- Extreme.Mathematics.Optimization.LineSearches
- Extreme.Mathematics.Random
- Extreme.Mathematics.SignalProcessing
- Extreme.Numerics.FSharp
- Extreme.Statistics
- Extreme.Statistics.Distributions
- Extreme.Statistics.IO
- Extreme.Statistics.Linq
- Extreme.Statistics.Multivariate
- Extreme.Statistics.Random
- Extreme.Statistics.Tests
- Extreme.Statistics.TimeSeriesAnalysis

- Extreme.Mathematics.Curves
- ChebyshevBasis Class
- ChebyshevSeries Class
- Constant Class
- CubicSpline Class
- CubicSplineKind Enumeration
- Curve Class
- CurveFitter Class
- FunctionBasis Class
- GeneralCurve Class
- GeneralFunctionBasis Class
- Line Class
- LinearCombination Class
- LinearCurveFitter Class
- LinearLeastSquaresMethod Enumeration
- NonlinearCurve Class
- NonlinearCurveFitter Class
- NonlinearCurveFitter(T) Class
- NonlinearCurveFittingMethod Enumeration
- ParameterCollection Class
- PiecewiseConstantCurve Class
- PiecewiseCurve Class
- PiecewiseLinearCurve Class
- Point Structure
- Polynomial Class
- PolynomialBase Class
- PolynomialBasis Class
- Quadratic Class
- WeightFunctions Class

- CubicSpline Class

CubicSpline Class | Extreme Optimization Numerical Libraries for .NET Professional |

Extreme.Mathematics.Curves

Extreme.Mathematics.Curves

Extreme.Mathematics.Curves

**Namespace:**Extreme.Mathematics.Curves

**Assembly:**Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)

The CubicSpline type exposes the following members.

Name | Description | |
---|---|---|

Kind |
Gets the type of the cubic spline.
| |

NumberOfIntervals |
Gets the number of intervals that make up this PiecewiseCurve.
(Inherited from PiecewiseCurve.) | |

Parameters |
Gets the collection of parameters that determine the shape of this
Curve.
(Inherited from Curve.) |

Use the CubicSpline class to interpolate tabulated data, or to approximate a function defined in terms of tabulated data.

A cubic spline is a piecewise curve defined by a third degree polynomial on each interval.

Splines are defined by the data points and some additional conditions. Depending on the nature of these conditions, different types of spline curves arise. There are four kinds of splines. These types are enumerated by the CubicSplineKind type.

A *natural spline* is a spline curve whose second
derivative at the end points are zero. This type of spline tends to minimize the overall curvature
of the spline. There is only one natural spline for a given set of data points.

A *clamped spline* is a spline curve whose slope is fixed at both end points.
There is a clamped spline curve for each pair of slopes. Therefore, two parameters must be
defined in addition to the data points to specify a clamped spline completely.

Clamped and natural splines have continuous second derivatives.

A *cubic Hermite spline* is a spline curve whose slope is fixed at each data point.
These slopes must be provided by the user.
As a result of these additional conditions, the second derivative is no longer continuous.

An *Akima spline* is a variation of a spline that is robust against outliers.
The polynomial on each interval is defined using only a limited number of points. This
means that, unlike natural and clamped splines, the effect of an anomalous data point
doesn't propagate throughout the curve. Akima splines require only the data points.
No other information is needed.

A *smoothing spline* is a variation of a natural spline that
reduces the curvature of the curve at the expense of no longer interpolating
the data points.

#### Numerical Libraries

Supported in: 6.0, 5.x, 4.x#### Reference

Copyright © 2004-2018,
Extreme Optimization. All rights reserved.

*Extreme Optimization,* *Complexity made simple*, *M#*, and *M
Sharp* are trademarks of ExoAnalytics Inc.

*Microsoft*, *Visual C#, Visual Basic, Visual Studio*, *Visual
Studio.NET*, and the *Optimized for Visual Studio* logo

are
registered trademarks of Microsoft Corporation.