Class BicubicSplineInterpolatingFunction
- java.lang.Object
-
- org.apache.commons.math3.analysis.interpolation.BicubicSplineInterpolatingFunction
-
- All Implemented Interfaces:
BivariateFunction
@Deprecated public class BicubicSplineInterpolatingFunction extends java.lang.Object implements BivariateFunction
Deprecated.as of 3.4 replaced byPiecewiseBicubicSplineInterpolatingFunctionFunction that implements the bicubic spline interpolation. Due to numerical accuracy issues this should not be used.- Since:
- 2.1
-
-
Field Summary
Fields Modifier and Type Field Description private static double[][]AINVDeprecated.Matrix to compute the spline coefficients from the function values and function derivatives valuesprivate static intNUM_COEFFDeprecated.Number of coefficients.private BivariateFunction[][][]partialDerivativesDeprecated.Partial derivatives.private BicubicSplineFunction[][]splinesDeprecated.Set of cubic splines patching the whole data gridprivate double[]xvalDeprecated.Samples x-coordinatesprivate double[]yvalDeprecated.Samples y-coordinates
-
Constructor Summary
Constructors Constructor Description BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY)Deprecated.BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private double[]computeSplineCoefficients(double[] beta)Deprecated.Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element.booleanisValidPoint(double x, double y)Deprecated.Indicates whether a point is within the interpolation range.private doublepartialDerivative(int which, double x, double y)Deprecated.doublepartialDerivativeX(double x, double y)Deprecated.doublepartialDerivativeXX(double x, double y)Deprecated.doublepartialDerivativeXY(double x, double y)Deprecated.doublepartialDerivativeY(double x, double y)Deprecated.doublepartialDerivativeYY(double x, double y)Deprecated.private intsearchIndex(double c, double[] val)Deprecated.doublevalue(double x, double y)Deprecated.Compute the value for the function.
-
-
-
Field Detail
-
NUM_COEFF
private static final int NUM_COEFF
Deprecated.Number of coefficients.- See Also:
- Constant Field Values
-
AINV
private static final double[][] AINV
Deprecated.Matrix to compute the spline coefficients from the function values and function derivatives values
-
xval
private final double[] xval
Deprecated.Samples x-coordinates
-
yval
private final double[] yval
Deprecated.Samples y-coordinates
-
splines
private final BicubicSplineFunction[][] splines
Deprecated.Set of cubic splines patching the whole data grid
-
partialDerivatives
private final BivariateFunction[][][] partialDerivatives
Deprecated.Partial derivatives. The value of the first index determines the kind of derivatives: 0 = first partial derivatives wrt x 1 = first partial derivatives wrt y 2 = second partial derivatives wrt x 3 = second partial derivatives wrt y 4 = cross partial derivatives
-
-
Constructor Detail
-
BicubicSplineInterpolatingFunction
public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceExceptionDeprecated.- 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.
-
BicubicSplineInterpolatingFunction
public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceExceptionDeprecated.- 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.- See Also:
partialDerivativeX(double,double),partialDerivativeY(double,double),partialDerivativeXX(double,double),partialDerivativeYY(double,double),partialDerivativeXY(double,double)
-
-
Method Detail
-
value
public double value(double x, double y) throws OutOfRangeExceptionDeprecated.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)Deprecated.Indicates whether a point is within the interpolation range.- Parameters:
x- First coordinate.y- Second coordinate.- Returns:
trueif (x, y) is a valid point.- Since:
- 3.3
-
partialDerivativeX
public double partialDerivativeX(double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the first partial derivative with respect to x.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeY
public double partialDerivativeY(double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the first partial derivative with respect to y.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeXX
public double partialDerivativeXX(double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the second partial derivative with respect to x.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeYY
public double partialDerivativeYY(double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the second partial derivative with respect to y.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivativeXY
public double partialDerivativeXY(double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the second partial cross-derivative.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
partialDerivative
private double partialDerivative(int which, double x, double y) throws OutOfRangeExceptionDeprecated.- Parameters:
which- First index inpartialDerivatives.x- x-coordinate.y- y-coordinate.- Returns:
- the value at point (x, y) of the selected partial derivative.
- Throws:
OutOfRangeException- ifx(resp.y) is outside the range defined by the boundary values ofxval(resp.yval).java.lang.NullPointerException- if the internal data were not initialized (cf.constructor).
-
searchIndex
private int searchIndex(double c, double[] val)Deprecated.- Parameters:
c- Coordinate.val- Coordinate samples.- Returns:
- the index in
valcorresponding to the interval containingc. - Throws:
OutOfRangeException- ifcis out of the range defined by the boundary values ofval.
-
computeSplineCoefficients
private double[] computeSplineCoefficients(double[] beta)
Deprecated.Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element. They must be specified in the following order:- f(0,0)
- f(1,0)
- f(0,1)
- f(1,1)
- fx(0,0)
- fx(1,0)
- fx(0,1)
- fx(1,1)
- fy(0,0)
- fy(1,0)
- fy(0,1)
- fy(1,1)
- fxy(0,0)
- fxy(1,0)
- fxy(0,1)
- fxy(1,1)
- Parameters:
beta- List of function values and function partial derivatives values.- Returns:
- the spline coefficients.
-
-