Interpolation.GridCubicInterpolator Method

Definition

Namespace: Numerics.NET
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0

Overload List

GridCubicInterpolator(IReadOnlyList<IReadOnlyList<Double>>, IReadOnlyList<Double>, ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 2D or 3D rectilinear grid.
GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, Matrix<Double>, ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, Double[,], ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.
GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, Double[,,], ExtrapolationMode) Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.

GridCubicInterpolator(IReadOnlyList<IReadOnlyList<Double>>, IReadOnlyList<Double>, ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 2D or 3D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<IReadOnlyList<double>> axes,
	IReadOnlyList<double> values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

axes  IReadOnlyList<IReadOnlyList<Double>>
The coordinate vectors for each dimension.
values  IReadOnlyList<Double>
The grid values in flat, row-major storage.
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Remarks

This method creates specialized cubic surfaces for 2D and 3D grids using natural cubic splines. For N-dimensional grids or custom boundary conditions, use GridCubicTensorSplineInterpolator(IReadOnlyList<IReadOnlyList<Double>>, IReadOnlyList<Double>, GridBoundaryCondition, ExtrapolationMode) instead.

Exceptions

NotSupportedExceptionThrown when the number of axes is not 2 or 3.
ArgumentNullExceptionaxes or values is null.
ArgumentException The product of axis lengths does not equal the values length, or an axis has fewer than 2 points.

GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, Matrix<Double>, ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<double> xAxis,
	IReadOnlyList<double> yAxis,
	Matrix<double> values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

xAxis  IReadOnlyList<Double>
The x-coordinates of the grid points.
yAxis  IReadOnlyList<Double>
The y-coordinates of the grid points.
values  Matrix<Double>
The grid values as a matrix (RowCount = yAxis.Count, ColumnCount = xAxis.Count).
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Exceptions

ArgumentNullExceptionxAxis, yAxis, or values is null.
ArgumentException Matrix dimensions do not match axis lengths, or an axis has fewer than 2 points.

GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<double> xAxis,
	IReadOnlyList<double> yAxis,
	IReadOnlyList<double> values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

xAxis  IReadOnlyList<Double>
The x-coordinates of the grid points.
yAxis  IReadOnlyList<Double>
The y-coordinates of the grid points.
values  IReadOnlyList<Double>
The grid values in flat, row-major storage.
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Exceptions

ArgumentNullExceptionxAxis, yAxis, or values is null.
ArgumentException The values length does not match the product of axis lengths, or an axis has fewer than 2 points.

GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, Double[,], ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<double> xAxis,
	IReadOnlyList<double> yAxis,
	double[,] values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

xAxis  IReadOnlyList<Double>
The x-coordinates of the grid points.
yAxis  IReadOnlyList<Double>
The y-coordinates of the grid points.
values  Double[2]
The grid values as a 2D array.
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Remarks

Array dimension order

For the values array, the dimension order follows the order of the axis arguments.

The array must satisfy:

  • values.GetLength(0) == xAxis.Count
  • values.GetLength(1) == yAxis.Count

and values[i, j] = f(xAxis[i], yAxis[j]).

Exceptions

ArgumentNullExceptionxAxis, yAxis, or values is null.
ArgumentException Array dimensions do not match axis lengths, or an axis has fewer than 2 points.

GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<double> xAxis,
	IReadOnlyList<double> yAxis,
	IReadOnlyList<double> zAxis,
	IReadOnlyList<double> values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

xAxis  IReadOnlyList<Double>
The x-coordinates of the grid points.
yAxis  IReadOnlyList<Double>
The y-coordinates of the grid points.
zAxis  IReadOnlyList<Double>
The z-coordinates of the grid points.
values  IReadOnlyList<Double>
The grid values in flat, row-major storage.
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Exceptions

ArgumentNullExceptionxAxis, yAxis, zAxis, or values is null.
ArgumentException The values length does not match the product of axis lengths, or an axis has fewer than 2 points.

GridCubicInterpolator(IReadOnlyList<Double>, IReadOnlyList<Double>, IReadOnlyList<Double>, Double[,], ExtrapolationMode)

Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.
C#
public static GridSurface GridCubicInterpolator(
	IReadOnlyList<double> xAxis,
	IReadOnlyList<double> yAxis,
	IReadOnlyList<double> zAxis,
	double[,,] values,
	ExtrapolationMode extrapolation = ExtrapolationMode.Throw
)

Parameters

xAxis  IReadOnlyList<Double>
The x-coordinates of the grid points.
yAxis  IReadOnlyList<Double>
The y-coordinates of the grid points.
zAxis  IReadOnlyList<Double>
The z-coordinates of the grid points.
values  Double[3]
The grid values as a 3D array.
extrapolation  ExtrapolationMode  (Optional)
The extrapolation mode for out-of-range coordinates.

Return Value

GridSurface
A GridSurface that performs grid interpolation.

Remarks

Array dimension order

For the values array, the dimension order follows the order of the axis arguments.

The array must satisfy:

  • values.GetLength(0) == xAxis.Count
  • values.GetLength(1) == yAxis.Count
  • values.GetLength(2) == zAxis.Count

and values[i, j, k] = f(xAxis[i], yAxis[j], zAxis[k]).

Exceptions

ArgumentNullExceptionxAxis, yAxis, zAxis, or values is null.
ArgumentException Array dimensions do not match axis lengths, or an axis has fewer than 2 points.

See Also