Interpolation.GridCubic3DInterpolator Method

Definition

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

Overload List

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

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

Parameters

axes  IReadOnlyList<IReadOnlyList<Double>>
The coordinate vectors for each dimension (must have length 2 or 3).
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 specialized cubic grid surface: CubicGridSurface2D for 2D or CubicGridSurface3D for 3D.

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 instead.

Exceptions

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.
NotSupportedExceptionThrown when the number of axes is not 2 or 3.

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

Creates a grid-based cubic spline interpolator over a 2D rectilinear grid.
C#
public static CubicGridSurface2D GridCubic3DInterpolator(
	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

CubicGridSurface2D
A CubicGridSurface2D that performs 2D bicubic 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.

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

Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.
C#
public static CubicGridSurface3D GridCubic3DInterpolator(
	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

CubicGridSurface3D
A CubicGridSurface3D that performs 3D tricubic 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.

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

Creates a grid-based cubic spline interpolator over a 3D rectilinear grid.
C#
public static CubicGridSurface3D GridCubic3DInterpolator(
	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

CubicGridSurface3D
A CubicGridSurface3D that performs 3D tricubic 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