org.apache.commons.math3.analysis.interpolation

## Class BicubicSplineInterpolatingFunction

- java.lang.Object
- - org.apache.commons.math3.analysis.interpolation.BicubicSplineInterpolatingFunction

- All Implemented Interfaces:
    BivariateFunction

      public class BicubicSplineInterpolatingFunction
      extends Object
      implements BivariateFunction

  Function that implements the bicubic spline interpolation.
  Since:
    2.1
  Version:
    $Id: BicubicSplineInterpolatingFunction.java 1512547 2013-08-10 01:13:38Z erans $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isValidPoint(double x, double y)` Indicates whether a point is within the interpolation range.
    `double` | `partialDerivativeX(double x, double y)`
    `double` | `partialDerivativeXX(double x, double y)`
    `double` | `partialDerivativeXY(double x, double y)`
    `double` | `partialDerivativeY(double x, double y)`
    `double` | `partialDerivativeYY(double x, double y)`
    `double` | `value(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`

- - ### Constructor Detail

    - #### BicubicSplineInterpolatingFunction

          public BicubicSplineInterpolatingFunction(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` - if `x` or `y` are 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:
        `value` in interface `BivariateFunction`
      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:
        `true` if (x, y) is a valid point.
      Since:
        3.3

    - #### partialDerivativeX

          public double partialDerivativeX(double x,
                                  double y)
                                    throws OutOfRangeException

      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` - if `x` (resp. `y`) is outside the range defined by the boundary values of `xval` (resp. `yval`).

    - #### partialDerivativeY

          public double partialDerivativeY(double x,
                                  double y)
                                    throws OutOfRangeException

      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` - if `x` (resp. `y`) is outside the range defined by the boundary values of `xval` (resp. `yval`).

    - #### partialDerivativeXX

          public double partialDerivativeXX(double x,
                                   double y)
                                     throws OutOfRangeException

      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` - if `x` (resp. `y`) is outside the range defined by the boundary values of `xval` (resp. `yval`).

    - #### partialDerivativeYY

          public double partialDerivativeYY(double x,
                                   double y)
                                     throws OutOfRangeException

      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` - if `x` (resp. `y`) is outside the range defined by the boundary values of `xval` (resp. `yval`).

    - #### partialDerivativeXY

          public double partialDerivativeXY(double x,
                                   double y)
                                     throws OutOfRangeException

      Parameters:
        `x` - x-coordinate.
        `y` - y-coordinate.
      Returns:
        the value at point (x, y) of the second partial cross-derivative.
      Throws:
        `OutOfRangeException` - if `x` (resp. `y`) is outside the range defined by the boundary values of `xval` (resp. `yval`).

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.