Class PiecewiseBicubicSplineInterpolatingFunction
- java.lang.Object
-
- org.hipparchus.analysis.interpolation.PiecewiseBicubicSplineInterpolatingFunction
-
- All Implemented Interfaces:
BivariateFunction
,FieldBivariateFunction
public class PiecewiseBicubicSplineInterpolatingFunction extends Object implements BivariateFunction, FieldBivariateFunction
Function that implements the bicubic spline interpolation. This implementation currently usesAkimaSplineInterpolator
as the underlying one-dimensional interpolator, which requires 5 sample points; insufficient data will raise an exception when thevalue
method is called.
-
-
Constructor Summary
Constructors Constructor Description PiecewiseBicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isValidPoint(double x, double y)
Indicates whether a point is within the interpolation range.double
value(double x, double y)
Compute the value for the function.<T extends CalculusFieldElement<T>>
Tvalue(T x, T 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.hipparchus.analysis.FieldBivariateFunction
toCalculusFieldBivariateFunction
-
-
-
-
Constructor Detail
-
PiecewiseBicubicSplineInterpolatingFunction
public PiecewiseBicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f) throws MathIllegalArgumentException, NullArgumentException
Simple constructor.- 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. the expected number of elements.- Throws:
MathIllegalArgumentException
- ifx
ory
are not strictly increasing.NullArgumentException
- if any of the arguments are nullMathIllegalArgumentException
- if any of the arrays has zero length.MathIllegalArgumentException
- if the length of x and y don't match the row, column height of f
-
-
Method Detail
-
value
public double value(double x, double y) throws MathIllegalArgumentException
Compute the value for the function.- Specified by:
value
in 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:
MathIllegalArgumentException
-
value
public <T extends CalculusFieldElement<T>> T value(T x, T y) throws MathIllegalArgumentException
Compute the value for the function.- Specified by:
value
in interfaceFieldBivariateFunction
- Type Parameters:
T
- type of the field elements- 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:
MathIllegalArgumentException
- Since:
- 1.5
-
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:
true
if (x, y) is a valid point.
-
-