org.apache.commons.math.optimization.fitting

## Class PolynomialFitter

- java.lang.Object
- - org.apache.commons.math.optimization.fitting.PolynomialFitter

-     public class PolynomialFitter
      extends java.lang.Object

  This class implements a curve fitting specialized for polynomials.

  Polynomial fitting is a very simple case of curve fitting. The estimated coefficients are the polynomial coefficients. They are searched by a least square estimator.

  Since:
    2.0
  Version:
    $Revision: 1073270 $ $Date: 2011-02-22 10:19:27 +0100 (mar. 22 févr. 2011) $

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private static class` | `PolynomialFitter.ParametricPolynomial` Dedicated parametric polynomial class.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `degree` Polynomial degree.
    `private CurveFitter` | `fitter` Fitter for the coefficients.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PolynomialFitter(int degree, DifferentiableMultivariateVectorialOptimizer optimizer)` Simple constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObservedPoint(double weight, double x, double y)` Add an observed weighted (x,y) point to the sample.
    `void` | `clearObservations()` Remove all observations.
    `PolynomialFunction` | `fit()` Get the polynomial fitting the weighted (x, y) points.

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

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

- - ### Field Detail

    - #### fitter

          private final CurveFitter fitter

      Fitter for the coefficients.

    - #### degree

          private final int degree

      Polynomial degree.

  - ### Constructor Detail

    - #### PolynomialFitter

          public PolynomialFitter(int degree,
                          DifferentiableMultivariateVectorialOptimizer optimizer)

      Simple constructor.

      The polynomial fitter built this way are complete polynomials, ie. a n-degree polynomial has n+1 coefficients.

      Parameters:
        `degree` - maximal degree of the polynomial
        `optimizer` - optimizer to use for the fitting

  - ### Method Detail

    - #### addObservedPoint

          public void addObservedPoint(double weight,
                              double x,
                              double y)

      Add an observed weighted (x,y) point to the sample.
      Parameters:
        `weight` - weight of the observed point in the fit
        `x` - abscissa of the point
        `y` - observed value of the point at x, after fitting we should have P(x) as close as possible to this value

    - #### clearObservations

          public void clearObservations()

      Remove all observations.
      Since:
        2.2

    - #### fit

          public PolynomialFunction fit()
                                 throws OptimizationException

      Get the polynomial fitting the weighted (x, y) points.
      Returns:
        polynomial function best fitting the observed points
      Throws:
        `OptimizationException` - if the algorithm failed to converge

Copyright (c) 2003-2013 Apache Software Foundation