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

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

All Implemented Interfaces:
  TrivariateRealGridInterpolator

    public class TricubicSplineInterpolator

extends Object
implements TrivariateRealGridInterpolator

Generates a tricubic interpolating function.

Since:
  2.2
Version:
  $Revision$ $Date$

Constructor Summary
`TricubicSplineInterpolator()`

Method Summary
`TricubicSplineInterpolatingFunction` `interpolate(double[] xval, double[] yval, double[] zval, 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

### TricubicSplineInterpolator

    public TricubicSplineInterpolator()

Method Detail

### interpolate

    public TricubicSplineInterpolatingFunction interpolate(double[] xval,
                                                           double[] yval,
                                                           double[] zval,
                                                           double[][][] fval)
                                                    throws MathException

  Computes an interpolating function for the data set.

  Specified by:
    `interpolate` in interface `TrivariateRealGridInterpolator`
  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.
    `zval` - All the z-coordinates of the interpolation points, sorted in increasing order.
    `fval` - the values of the interpolation points on all the grid knots: `fval[i][j][k] = f(xval[i], yval[j], zval[k])`.
  Returns:
    a function that interpolates the data set.
  Throws:
    `MathException` - if arguments violate assumptions made by the interpolation algorithm.

### 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