org.apache.commons.math3.analysis.interpolation

## Class SmoothingPolynomialBicubicSplineInterpolator

- java.lang.Object
- - org.apache.commons.math3.analysis.interpolation.BicubicSplineInterpolator
  - - org.apache.commons.math3.analysis.interpolation.SmoothingPolynomialBicubicSplineInterpolator

All Implemented Interfaces:
  BivariateGridInterpolator

    public class SmoothingPolynomialBicubicSplineInterpolator
    extends BicubicSplineInterpolator

Generates a bicubic interpolation function. Prior to generating the interpolating function, the input is smoothed using polynomial fitting.

Since:
  2.2
Version:
  $Id: SmoothingPolynomialBicubicSplineInterpolator.java 1423558 2012-12-18 18:07:45Z erans $

### Field Summary

Fields
`private int` `xDegree` Degree of the fitting polynomial.
`private PolynomialFitter` `xFitter` Fitter for x.
`private int` `yDegree` Degree of the fitting polynomial.
`private PolynomialFitter` `yFitter` Fitter for y.

### Constructor Summary

Constructors
Constructor and Description
`SmoothingPolynomialBicubicSplineInterpolator()` Default constructor.
`SmoothingPolynomialBicubicSplineInterpolator(int degree)`
`SmoothingPolynomialBicubicSplineInterpolator(int xDegree, int yDegree)`

### Method Summary

Methods
`BicubicSplineInterpolatingFunction` `interpolate(double[] xval, double[] yval, double[][] fval)` Compute an interpolating function for the dataset.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### xFitter

    private final PolynomialFitter xFitter

Fitter for x.

#### xDegree

    private final int xDegree

Degree of the fitting polynomial.

#### yFitter

    private final PolynomialFitter yFitter

Fitter for y.

#### yDegree

    private final int yDegree

Degree of the fitting polynomial.

### Constructor Detail

#### SmoothingPolynomialBicubicSplineInterpolator

    public SmoothingPolynomialBicubicSplineInterpolator()

Default constructor. The degree of the fitting polynomials is set to 3.

#### SmoothingPolynomialBicubicSplineInterpolator

    public SmoothingPolynomialBicubicSplineInterpolator(int degree)

Parameters:
  `degree` - Degree of the polynomial fitting functions.

#### SmoothingPolynomialBicubicSplineInterpolator

    public SmoothingPolynomialBicubicSplineInterpolator(int xDegree,
                                                int yDegree)

Parameters:
  `xDegree` - Degree of the polynomial fitting functions along the x-dimension.
  `yDegree` - Degree of the polynomial fitting functions along the y-dimension.

### Method Detail

#### interpolate

    public BicubicSplineInterpolatingFunction interpolate(double[] xval,
                                                 double[] yval,
                                                 double[][] fval)
                                                   throws NoDataException,
                                                          DimensionMismatchException

Compute an interpolating function for the dataset.

Specified by:
  `interpolate` in interface `BivariateGridInterpolator`
Overrides:
  `interpolate` in class `BicubicSplineInterpolator`
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 dataset.
Throws:
  `NoDataException` - if any of the arrays has zero length.
  `DimensionMismatchException` - if the array lengths are inconsistent.