## org.apache.commons.math.analysis.interpolation
Class BicubicSplineInterpolator

    java.lang.Object
      org.apache.commons.math.analysis.interpolation.BicubicSplineInterpolator

All Implemented Interfaces:
  BivariateRealGridInterpolator

Direct Known Subclasses:
  SmoothingPolynomialBicubicSplineInterpolator

    public class BicubicSplineInterpolator

extends Object
implements BivariateRealGridInterpolator

Generates a bicubic interpolating function.

Since:
  2.2
Version:
  $Revision: 980944 $ $Date: 2010-07-30 22:31:11 +0200 (ven. 30 juil. 2010) $

Constructor Summary
`BicubicSplineInterpolator()`

Method Summary
`BicubicSplineInterpolatingFunction` `interpolate(double[] xval, double[] yval, double[][] fval)` Computes an interpolating function for the data set.
`private int` `nextIndex(int i, int max)` Compute the next index of an array, clipping if necessary.
`private int` `previousIndex(int i)` Compute 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 MathException,
                                                          IllegalArgumentException

  Computes an interpolating function for the data set.

  Specified by:
    `interpolate` in interface `BivariateRealGridInterpolator`
  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 data set.
  Throws:
    `MathException` - if arguments violate assumptions made by the interpolation algorithm.
    `IllegalArgumentException`

### nextIndex

    private int nextIndex(int i,
                          int max)

  Compute the next index of an array, clipping if necessary. It is assumed (but not checked) that `i` is larger than or equal to 0}.

  Parameters:
    `i` - Index
    `max` - Upper limit of the array
  Returns:
    the next index

### previousIndex

    private int previousIndex(int i)

  Compute 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