org.apache.commons.math3.analysis.interpolation
Class SmoothingPolynomialBicubicSplineInterpolator

java.lang.Object
  extended by org.apache.commons.math3.analysis.interpolation.BicubicSplineInterpolator
      extended by 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 1455194 2013-03-11 15:45:54Z luc $

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)
                                             throws NotPositiveException
Parameters:
degree - Degree of the polynomial fitting functions.
Throws:
NotPositiveException - if degree is not positive

SmoothingPolynomialBicubicSplineInterpolator

public SmoothingPolynomialBicubicSplineInterpolator(int xDegree,
                                                    int yDegree)
                                             throws NotPositiveException
Parameters:
xDegree - Degree of the polynomial fitting functions along the x-dimension.
yDegree - Degree of the polynomial fitting functions along the y-dimension.
Throws:
NotPositiveException - if degrees are not positive
Method Detail

interpolate

public BicubicSplineInterpolatingFunction interpolate(double[] xval,
                                                      double[] yval,
                                                      double[][] fval)
                                               throws NoDataException,
                                                      NullArgumentException,
                                                      DimensionMismatchException,
                                                      NonMonotonicSequenceException
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.
NonMonotonicSequenceException - if the array is not sorted.
NullArgumentException


Copyright (c) 2003-2013 Apache Software Foundation