PiecewiseBicubicSplineInterpolatingFunction
@Deprecated public class BicubicSplineInterpolatingFunction extends java.lang.Object implements BivariateFunction
Modifier and Type | Field and Description |
---|---|
private static double[][] |
AINV
Deprecated.
Matrix to compute the spline coefficients from the function values
and function derivatives values
|
private static int |
NUM_COEFF
Deprecated.
Number of coefficients.
|
private BivariateFunction[][][] |
partialDerivatives
Deprecated.
Partial derivatives.
|
private BicubicSplineFunction[][] |
splines
Deprecated.
Set of cubic splines patching the whole data grid
|
private double[] |
xval
Deprecated.
Samples x-coordinates
|
private double[] |
yval
Deprecated.
Samples y-coordinates
|
Constructor and 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.
|
Modifier and Type | Method and 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.
|
boolean |
isValidPoint(double x,
double y)
Deprecated.
Indicates whether a point is within the interpolation range.
|
private double |
partialDerivative(int which,
double x,
double y)
Deprecated.
|
double |
partialDerivativeX(double x,
double y)
Deprecated.
|
double |
partialDerivativeXX(double x,
double y)
Deprecated.
|
double |
partialDerivativeXY(double x,
double y)
Deprecated.
|
double |
partialDerivativeY(double x,
double y)
Deprecated.
|
double |
partialDerivativeYY(double x,
double y)
Deprecated.
|
private int |
searchIndex(double c,
double[] val)
Deprecated.
|
double |
value(double x,
double y)
Deprecated.
Compute the value for the function.
|
private static final int NUM_COEFF
private static final double[][] AINV
private final double[] xval
private final double[] yval
private final BicubicSplineFunction[][] splines
private final BivariateFunction[][][] partialDerivatives
public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
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.DimensionMismatchException
- if the various arrays do not contain
the expected number of elements.NonMonotonicSequenceException
- if x
or y
are
not strictly increasing.NoDataException
- if any of the arrays has zero length.public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
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.DimensionMismatchException
- if the various arrays do not contain
the expected number of elements.NonMonotonicSequenceException
- if x
or y
are
not strictly increasing.NoDataException
- if any of the arrays has zero length.partialDerivativeX(double,double)
,
partialDerivativeY(double,double)
,
partialDerivativeXX(double,double)
,
partialDerivativeYY(double,double)
,
partialDerivativeXY(double,double)
public double value(double x, double y) throws OutOfRangeException
value
in interface BivariateFunction
x
- Abscissa for which the function value should be computed.y
- Ordinate for which the function value should be computed.OutOfRangeException
public boolean isValidPoint(double x, double y)
x
- First coordinate.y
- Second coordinate.true
if (x, y) is a valid point.public double partialDerivativeX(double x, double y) throws OutOfRangeException
x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).public double partialDerivativeY(double x, double y) throws OutOfRangeException
x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).public double partialDerivativeXX(double x, double y) throws OutOfRangeException
x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).public double partialDerivativeYY(double x, double y) throws OutOfRangeException
x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).public double partialDerivativeXY(double x, double y) throws OutOfRangeException
x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).private double partialDerivative(int which, double x, double y) throws OutOfRangeException
which
- First index in partialDerivatives
.x
- x-coordinate.y
- y-coordinate.OutOfRangeException
- if x
(resp. y
) is outside
the range defined by the boundary values of xval
(resp.
yval
).java.lang.NullPointerException
- if the internal data were not initialized
(cf. constructor
).private int searchIndex(double c, double[] val)
c
- Coordinate.val
- Coordinate samples.val
corresponding to the interval
containing c
.OutOfRangeException
- if c
is out of the
range defined by the boundary values of val
.private double[] computeSplineCoefficients(double[] beta)
beta
- List of function values and function partial derivatives
values.