ILNumerics Ultimate VS

NearestInterpolatorDoubleApply Method

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
method returns linear interpolated values at specific query points X.

[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> X,
	InCell arguments = null
)

Parameters

X
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

X defines new positions for the interpolation based on the trained object state. The shape of X is not taken into account. If X 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 = X.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 NearestInterpolatorDouble(V, X)) 
{ 
    // 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