org.apache.commons.math3.analysis.interpolation

## Class BicubicSplineInterpolator

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

- All Implemented Interfaces:
    BivariateGridInterpolator
  Direct Known Subclasses:
    SmoothingPolynomialBicubicSplineInterpolator

      public class BicubicSplineInterpolator
      extends java.lang.Object
      implements BivariateGridInterpolator

  Generates a bicubic interpolating function.
  Since:
    2.2
  Version:
    $Id: BicubicSplineInterpolator.java 1385313 2012-09-16 16:35:23Z tn $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BicubicSplineInterpolator()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `BicubicSplineInterpolatingFunction` | `interpolate(double[] xval, double[] yval, double[][] fval)` Compute an interpolating function for the dataset.
    `private int` | `nextIndex(int i, int max)` Computes the next index of an array, clipping if necessary.
    `private int` | `previousIndex(int i)` Computes the previous index of an array, clipping if necessary.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BicubicSplineInterpolator

          public BicubicSplineInterpolator()

  - ### Method Detail

    - #### interpolate

          public BicubicSplineInterpolatingFunction interpolate(double[] xval,
                                                       double[] yval,
                                                       double[][] fval)
                                                         throws NoDataException,
                                                                DimensionMismatchException,
                                                                NonMonotonicSequenceException

      Compute an interpolating function for the dataset.
      Specified by:
        `interpolate` in interface `BivariateGridInterpolator`
      Parameters:
        `xval` - All the x-coordinates of the interpolation points, sorted in increasing order.
        `yval` - All the y-coordinates of the interpolation points, sorted in increasing order.
        `fval` - The values of the interpolation points on all the grid knots: `fval[i][j] = f(xval[i], yval[j])`.
      Returns:
        a function which interpolates the dataset.
      Throws:
        `NoDataException` - if any of the arrays has zero length.
        `DimensionMismatchException` - if the array lengths are inconsistent.
        `NonMonotonicSequenceException`

    - #### nextIndex

          private int nextIndex(int i,
                      int max)

      Computes the next index of an array, clipping if necessary. It is assumed (but not checked) that `i >= 0`.
      Parameters:
        `i` - Index.
        `max` - Upper limit of the array.
      Returns:
        the next index.

    - #### previousIndex

          private int previousIndex(int i)

      Computes the previous index of an array, clipping if necessary. It is assumed (but not checked) that `i` is smaller than the size of the array.
      Parameters:
        `i` - Index.
      Returns:
        the previous index.

Copyright (c) 2003-2013 Apache Software Foundation