org.apache.commons.math3.analysis.interpolation

## Class TricubicSplineInterpolator

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

- All Implemented Interfaces:
    TrivariateGridInterpolator

      public class TricubicSplineInterpolator
      extends java.lang.Object
      implements TrivariateGridInterpolator

  Generates a tricubic interpolating function.
  Since:
    2.2
  Version:
    $Id: TricubicSplineInterpolator.java 1379904 2012-09-01 23:54:52Z erans $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TricubicSplineInterpolator()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TricubicSplineInterpolatingFunction` | `interpolate(double[] xval, double[] yval, double[] zval, double[][][] fval)` Compute an interpolating function for the dataset.
    `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 NoDataException,
                                                                 DimensionMismatchException,
                                                                 NonMonotonicSequenceException

      Compute an interpolating function for the dataset.
      Specified by:
        `interpolate` in interface `TrivariateGridInterpolator`
      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:
        `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)

      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