Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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

All Implemented Interfaces:
  TrivariateRealFunction

    public class TricubicSplineInterpolatingFunction

extends Object
implements TrivariateRealFunction

Function that implements the tricubic spline interpolation, as proposed in Tricubic interpolation in three dimensions
F. Lekien and J. Marsden
Int. J. Numer. Meth. Engng 2005; 63:455-471

Since:
  2.2
Version:
  $Revision$ $Date$

Field Summary
`private static double[][]` | `AINV` Matrix to compute the spline coefficients from the function values and function derivatives values
`private TricubicSplineFunction[][][]` | `splines` Set of cubic splines pacthing the whole data grid
`private double[]` | `xval` Samples x-coordinates
`private double[]` | `yval` Samples y-coordinates
`private double[]` | `zval` Samples z-coordinates

Constructor Summary
`TricubicSplineInterpolatingFunction(double[] x, double[] y, double[] z, double[][][] f, double[][][] dFdX, double[][][] dFdY, double[][][] dFdZ, double[][][] d2FdXdY, double[][][] d2FdXdZ, double[][][] d2FdYdZ, double[][][] d3FdXdYdZ)`

Method Summary
`private double[]` | `computeSplineCoefficients(double[] beta)` Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element.
`private int` | `searchIndex(double c, double[] val)`
`double` | `value(double x, double y, double z)` Compute the value for the function.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AINV

    private static final double[][] AINV

  Matrix to compute the spline coefficients from the function values and function derivatives values

### xval

    private final double[] xval

  Samples x-coordinates

### yval

    private final double[] yval

  Samples y-coordinates

### zval

    private final double[] zval

  Samples z-coordinates

### splines

    private final TricubicSplineFunction[][][] splines

  Set of cubic splines pacthing the whole data grid

Constructor Detail

### TricubicSplineInterpolatingFunction

    public TricubicSplineInterpolatingFunction(double[] x,
                                               double[] y,
                                               double[] z,
                                               double[][][] f,
                                               double[][][] dFdX,
                                               double[][][] dFdY,
                                               double[][][] dFdZ,
                                               double[][][] d2FdXdY,
                                               double[][][] d2FdXdZ,
                                               double[][][] d2FdYdZ,
                                               double[][][] d3FdXdYdZ)

Parameters:
  `x` - Sample values of the x-coordinate, in increasing order.
  `y` - Sample values of the y-coordinate, in increasing order.
  `z` - Sample values of the y-coordinate, in increasing order.
  `f` - Values of the function on every grid point.
  `dFdX` - Values of the partial derivative of function with respect to x on every grid point.
  `dFdY` - Values of the partial derivative of function with respect to y on every grid point.
  `dFdZ` - Values of the partial derivative of function with respect to z on every grid point.
  `d2FdXdY` - Values of the cross partial derivative of function on every grid point.
  `d2FdXdZ` - Values of the cross partial derivative of function on every grid point.
  `d2FdYdZ` - Values of the cross partial derivative of function on every grid point.
  `d3FdXdYdZ` - Values of the cross partial derivative of function on every grid point.
Throws:
  `NoDataException` - if any of the arrays has zero length.
  `DimensionMismatchException` - if the various arrays do not contain the expected number of elements.
  `IllegalArgumentException` - if `x`, `y` or `z` are not strictly increasing.

Method Detail

### value

    public double value(double x,
                        double y,
                        double z)

  Compute the value for the function.

  Specified by:
    `value` in interface `TrivariateRealFunction`
  Parameters:
    `x` - x-coordinate for which the function value should be computed.
    `y` - y-coordinate for which the function value should be computed.
    `z` - z-coordinate for which the function value should be computed.
  Returns:
    the value.

### searchIndex

    private int searchIndex(double c,
                            double[] val)

  Parameters:
    `c` - Coordinate.
    `val` - Coordinate samples.
  Returns:
    the index in `val` corresponding to the interval containing `c`, or `-1` if `c` is out of the range defined by the end values of `val`.

### computeSplineCoefficients

    private double[] computeSplineCoefficients(double[] beta)

  Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element. They must be specified in the following order:
  - f(0,0,0)
  - f(1,0,0)
  - f(0,1,0)
  - f(1,1,0)
  - f(0,0,1)
  - f(1,0,1)
  - f(0,1,1)
  - f(1,1,1)
  - fx(0,0,0)
  - ... (same order as above)
  - fx(1,1,1)
  - fy(0,0,0)
  - ... (same order as above)
  - fy(1,1,1)
  - fz(0,0,0)
  - ... (same order as above)
  - fz(1,1,1)
  - fxy(0,0,0)
  - ... (same order as above)
  - fxy(1,1,1)
  - fxz(0,0,0)
  - ... (same order as above)
  - fxz(1,1,1)
  - fyz(0,0,0)
  - ... (same order as above)
  - fyz(1,1,1)
  - fxyz(0,0,0)
  - ... (same order as above)
  - fxyz(1,1,1)
  where the subscripts indicate the partial derivative with respect to the corresponding variable(s).

  Parameters:
    `beta` - List of function values and function partial derivatives values.
  Returns:
    the spline coefficients.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2003-2013 Apache Software Foundation