ILNumerics Ultimate VS

PolynomialInterpolatorDoubleApply Method

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
Method returns interpolated values using polynomial function at specific query points Xn.

[ILNumerics Interpolation Toolbox]

Namespace:  ILNumerics.Toolboxes
Assembly:  ILNumerics.Toolboxes.Interpolation (in ILNumerics.Toolboxes.Interpolation.dll) Version: 5.5.0.0 (5.5.7503.3146)
Syntax

public override RetArray<double> Apply(
	InArray<double> Xn,
	InCell arguments = null
)

Parameters

Xn
Type: ILNumericsInArrayDouble
Query points, specified as a scalar, vector or n-dim array of real numbers.
arguments (Optional)
Type: ILNumericsInCell
Currently not used

Return Value

Type: RetArrayDouble
Interpolated data, see remarks for size details.
Exceptions

ExceptionCondition
ArgumentNullExceptionIf an input parameters are NULL
InvalidOperationExceptionIf Interpolation object has been disposed before Apply() calls
Remarks

Xn defines new positions for the interpolation based on the trained object state. The shape of Xn is not taken into account. If Xn is not a vector, its values are read in sequential order.

Interpolation values are computed from the original values V used to train this interpolator objects. The array returned will have the same shape as V, except the working dimension of V is replaced with n interpolated values, n = Xn.S.NumberOfElements. The 'working dimension' of V is 1 if V is a row vector, 0 otherwise.

[ILNumerics Interpolation Toolbox]

Examples

// Define some sample points as a function: f(x) = sin(x);
Array<double> X = linspace<double>(-pi, pi, 10);
Array<double> V = sin(X);

// Create Interpolator Object order 5
using (var interp = new PolynomialInterpolatorDouble(V, X, order:5)) 
{ 
    // Get some random scalar values
    double val1 = (double)interp.Apply(0.024);
    double val2 = (double)interp.Apply(-0.21);

    // Get 10 linear spaced values defined on range (-0.5, 1.25)
    Array<double> valRange = interp.Apply(linspace<double>(-0.5, 1.25, 10));

    // Get 30 interpolated values using Xn query points defined as array[3 x 2 x 5]
    Array<double> Xn = counter(0.0, 0.1, 3, 2, 5);
    Array<double> Vn = interp.Apply(Xn);
}

See Also

Reference