Namespaces

Types in MathNet.Numerics

Type Interpolate

Namespace MathNet.Numerics

Interpolation Factory.

Static Functions

Public Static Functions

IInterpolation Common(IEnumerable<double> points, IEnumerable<double> values)

Creates an interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.Barycentric.InterpolateRationalFloaterHormannSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation CubicSpline(IEnumerable<double> points, IEnumerable<double> values)

Create an piecewise natural cubic spline interpolation based on arbitrary points, with zero secondary derivatives at the boundaries.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.CubicSpline.InterpolateNaturalSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation CubicSplineMonotone(IEnumerable<double> points, IEnumerable<double> values)

Create a piecewise cubic monotone spline interpolation based on arbitrary points. This is a shape-preserving spline with continuous first derivative.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.CubicSpline.InterpolatePchipSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation CubicSplineRobust(IEnumerable<double> points, IEnumerable<double> values)

Create a piecewise cubic Akima spline interpolation based on arbitrary points. Akima splines are robust to outliers.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.CubicSpline.InterpolateAkimaSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation CubicSplineWithDerivatives(IEnumerable<double> points, IEnumerable<double> values, IEnumerable<double> firstDerivatives)

Create a piecewise cubic Hermite spline interpolation based on arbitrary points and their slopes/first derivative.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.CubicSpline.InterpolateHermiteSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

IEnumerable<double> firstDerivatives

The slope at the sample points. Optimized for arrays.

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation Linear(IEnumerable<double> points, IEnumerable<double> values)

Create a piecewise linear interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.LinearSpline.InterpolateSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation LogLinear(IEnumerable<double> points, IEnumerable<double> values)

Create piecewise log-linear interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.LogLinear.InterpolateSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation Polynomial(IEnumerable<double> points, IEnumerable<double> values)

Create a Neville polynomial interpolation based on arbitrary points. If the points happen to be equidistant, consider to use the much more robust PolynomialEquidistant instead. Otherwise, consider whether RationalWithoutPoles would not be a more robust alternative.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.NevillePolynomialInterpolation.InterpolateSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation PolynomialEquidistant(IEnumerable<double> points, IEnumerable<double> values)

Create a barycentric polynomial interpolation where the given sample points are equidistant.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.Barycentric.InterpolatePolynomialEquidistantSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t, must be equidistant.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation RationalWithoutPoles(IEnumerable<double> points, IEnumerable<double> values)

Create a Floater-Hormann rational pole-free interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.Barycentric.InterpolateRationalFloaterHormannSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation RationalWithPoles(IEnumerable<double> points, IEnumerable<double> values)

Create a Bulirsch Stoer rational interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.BulirschStoerRationalInterpolation.InterpolateSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.

IInterpolation Step(IEnumerable<double> points, IEnumerable<double> values)

Create a step-interpolation based on arbitrary points.
if your data is already sorted in arrays, consider to use MathNet.Numerics.Interpolation.StepInterpolation.InterpolateSorted instead, which is more efficient.
Parameters
IEnumerable<double> points

The sample points t.

IEnumerable<double> values

The sample point values x(t).

Return
IInterpolation

An interpolation scheme optimized for the given sample points and values, which can then be used to compute interpolations and extrapolations on arbitrary points.