Package org.apache.commons.math3.fitting

# Class PolynomialCurveFitter

java.lang.Object
org.apache.commons.math3.fitting.AbstractCurveFitter
org.apache.commons.math3.fitting.PolynomialCurveFitter

public class PolynomialCurveFitter extends AbstractCurveFitter
Fits points to a `polynomial` function.
The size of the `initial guess` array defines the degree of the polynomial to be fitted. They must be sorted in increasing order of the polynomial's degree. The optimal values of the coefficients will be returned in the same order.

Since:
  3.3

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.commons.math3.fitting.AbstractCurveFitter

`AbstractCurveFitter.TheoreticalValuesFunction`

## Method Summary

Modifier and Type
Method
Description
`static PolynomialCurveFitter`
`create(int degree)`
Creates a default curve fitter.
`protected LeastSquaresProblem`
`getProblem(Collection<WeightedObservedPoint> observations)`
Creates a least squares problem corresponding to the appropriate curve.
`PolynomialCurveFitter`
`withMaxIterations(int newMaxIter)`
Configure the maximum number of iterations.
`PolynomialCurveFitter`
`withStartPoint(double[] newStart)`
Configure the start point (initial guess).

### Methods inherited from class org.apache.commons.math3.fitting.AbstractCurveFitter

`fit, getOptimizer`

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

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

## Method Details

### create

public static PolynomialCurveFitter create(int degree)
Creates a default curve fitter. Zero will be used as initial guess for the coefficients, and the maximum number of iterations of the optimization algorithm is set to `Integer.MAX_VALUE`.

Parameters:
  `degree` - Degree of the polynomial to be fitted.
Returns:
  a curve fitter.
See Also:
  - `withStartPoint(double[])`
  - `withMaxIterations(int)`

### withStartPoint

public PolynomialCurveFitter withStartPoint(double[] newStart)
Configure the start point (initial guess).

Parameters:
  `newStart` - new start point (initial guess)
Returns:
  a new instance.

### withMaxIterations

public PolynomialCurveFitter withMaxIterations(int newMaxIter)
Configure the maximum number of iterations.

Parameters:
  `newMaxIter` - maximum number of iterations
Returns:
  a new instance.

### getProblem

protected LeastSquaresProblem getProblem(Collection<WeightedObservedPoint> observations)
Creates a least squares problem corresponding to the appropriate curve.

Specified by:
  `getProblem` in class `AbstractCurveFitter`
Parameters:
  `observations` - Sample points.
Returns:
  the least squares problem to use for fitting the curve to the given `points`.