Class BicubicInterpolatingFunction
- java.lang.Object
-
- org.apache.commons.math4.legacy.analysis.interpolation.BicubicInterpolatingFunction
-
- All Implemented Interfaces:
DoubleBinaryOperator,BivariateFunction
public class BicubicInterpolatingFunction extends Object implements BivariateFunction
Function that implements the bicubic spline interpolation.- Since:
- 3.4
-
-
Constructor Summary
Constructors Constructor Description BicubicInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY)BicubicInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisValidPoint(double x, double y)Indicates whether a point is within the interpolation range.DoubleBinaryOperatorpartialDerivativeX()DoubleBinaryOperatorpartialDerivativeXX()DoubleBinaryOperatorpartialDerivativeXY()DoubleBinaryOperatorpartialDerivativeY()DoubleBinaryOperatorpartialDerivativeYY()doublevalue(double x, double y)Compute the value for the function.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.math4.legacy.analysis.BivariateFunction
applyAsDouble
-
-
-
-
Constructor Detail
-
BicubicInterpolatingFunction
public BicubicInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
- Parameters:
x- Sample values of the x-coordinate, in increasing order.y- 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.d2FdXdY- Values of the cross partial derivative of function on every grid point.- Throws:
DimensionMismatchException- if the various arrays do not contain the expected number of elements.NonMonotonicSequenceException- ifxoryare not strictly increasing.NoDataException- if any of the arrays has zero length.
-
BicubicInterpolatingFunction
public BicubicInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
- Parameters:
x- Sample values of the x-coordinate, in increasing order.y- 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.d2FdXdY- Values of the cross partial derivative of function on every grid point.initializeDerivatives- Whether to initialize the internal data needed for calling any of the methods that compute the partial derivatives this function.- Throws:
DimensionMismatchException- if the various arrays do not contain the expected number of elements.NonMonotonicSequenceException- ifxoryare not strictly increasing.NoDataException- if any of the arrays has zero length.
-
-
Method Detail
-
value
public double value(double x, double y) throws OutOfRangeException
Compute the value for the function.- Specified by:
valuein interfaceBivariateFunction- Parameters:
x- Abscissa for which the function value should be computed.y- Ordinate for which the function value should be computed.- Returns:
- the value.
- Throws:
OutOfRangeException
-
isValidPoint
public boolean isValidPoint(double x, double y)
Indicates whether a point is within the interpolation range.- Parameters:
x- First coordinate.y- Second coordinate.- Returns:
trueif (x, y) is a valid point.
-
partialDerivativeX
public DoubleBinaryOperator partialDerivativeX()
- Returns:
- the first partial derivative respect to x.
- Throws:
NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeY
public DoubleBinaryOperator partialDerivativeY()
- Returns:
- the first partial derivative respect to y.
- Throws:
NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeXX
public DoubleBinaryOperator partialDerivativeXX()
- Returns:
- the second partial derivative respect to x.
- Throws:
NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeYY
public DoubleBinaryOperator partialDerivativeYY()
- Returns:
- the second partial derivative respect to y.
- Throws:
NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeXY
public DoubleBinaryOperator partialDerivativeXY()
- Returns:
- the second partial cross derivative.
- Throws:
NullPointerException- if the internal data were not initialized (cf.constructor).
-
-