Class TricubicInterpolatingFunction
- java.lang.Object
-
- org.hipparchus.analysis.interpolation.TricubicInterpolatingFunction
-
- All Implemented Interfaces:
TrivariateFunction
public class TricubicInterpolatingFunction extends Object implements TrivariateFunction
Function that implements the tricubic spline interpolation, as proposed inTricubic interpolation in three dimensions
F. Lekien and J. Marsden
Int. J. Numer. Meth. Eng 2005; 63:455-471
-
-
Constructor Summary
Constructors Constructor Description TricubicInterpolatingFunction(double[] x, double[] y, double[] z, double[][][] f, double[][][] dFdX, double[][][] dFdY, double[][][] dFdZ, double[][][] d2FdXdY, double[][][] d2FdXdZ, double[][][] d2FdYdZ, double[][][] d3FdXdYdZ)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isValidPoint(double x, double y, double z)
Indicates whether a point is within the interpolation range.double
value(double x, double y, double z)
Compute the value for the function.
-
-
-
Constructor Detail
-
TricubicInterpolatingFunction
public TricubicInterpolatingFunction(double[] x, double[] y, double[] z, double[][][] f, double[][][] dFdX, double[][][] dFdY, double[][][] dFdZ, double[][][] d2FdXdY, double[][][] d2FdXdZ, double[][][] d2FdYdZ, double[][][] d3FdXdYdZ) throws MathIllegalArgumentException
Simple constructor.- Parameters:
x
- Sample values of the x-coordinate, in increasing order.y
- Sample values of the y-coordinate, in increasing order.z
- Sample values of the y-coordinate, in increasing order.f
- Values of the function on every grid point.dFdX
- Values of the partial derivative of function with respect to x on every grid point.dFdY
- Values of the partial derivative of function with respect to y on every grid point.dFdZ
- Values of the partial derivative of function with respect to z on every grid point.d2FdXdY
- Values of the cross partial derivative of function on every grid point.d2FdXdZ
- Values of the cross partial derivative of function on every grid point.d2FdYdZ
- Values of the cross partial derivative of function on every grid point.d3FdXdYdZ
- Values of the cross partial derivative of function on every grid point.- Throws:
MathIllegalArgumentException
- if any of the arrays has zero length.MathIllegalArgumentException
- if the various arrays do not contain the expected number of elements.MathIllegalArgumentException
- ifx
,y
orz
are not strictly increasing.
-
-
Method Detail
-
value
public double value(double x, double y, double z) throws MathIllegalArgumentException
Compute the value for the function.- Specified by:
value
in interfaceTrivariateFunction
- Parameters:
x
- x-coordinate for which the function value should be computed.y
- y-coordinate for which the function value should be computed.z
- z-coordinate for which the function value should be computed.- Returns:
- the value.
- Throws:
MathIllegalArgumentException
- if any of the variables is outside its interpolation range.
-
isValidPoint
public boolean isValidPoint(double x, double y, double z)
Indicates whether a point is within the interpolation range.- Parameters:
x
- First coordinate.y
- Second coordinate.z
- Third coordinate.- Returns:
true
if (x, y, z) is a valid point.
-
-