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

java.lang.Object
  extended by org.apache.commons.math.analysis.interpolation.TricubicSplineInterpolator
All Implemented Interfaces:
TrivariateRealGridInterpolator

public class TricubicSplineInterpolator
extends java.lang.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-2011 Apache Software Foundation