## 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
`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
`SmoothingPolynomialBicubicSplineInterpolator()` Default constructor.
`SmoothingPolynomialBicubicSplineInterpolator(int degree)`
`SmoothingPolynomialBicubicSplineInterpolator(int xDegree, int yDegree)`

Method Summary
`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.

Copyright (c) 2003-2013 Apache Software Foundation