org.apache.commons.math3.optimization.fitting

## Class CurveFitter<T extends ParametricUnivariateFunction>

- java.lang.Object
- - org.apache.commons.math3.optimization.fitting.CurveFitter<T>

- Type Parameters:
    `T` - Function to use for the fit.
  Direct Known Subclasses:
    GaussianFitter, HarmonicFitter, PolynomialFitter

  Deprecated.
  As of 3.1 (to be removed in 4.0).

      @Deprecated
      public class CurveFitter<T extends ParametricUnivariateFunction>
      extends java.lang.Object

  Fitter for parametric univariate real functions y = f(x).
  When a univariate real function y = f(x) does depend on some unknown parameters p0, p1 ... pn-1, this class can be used to find these parameters. It does this by fitting the curve so it remains very close to a set of observed points (x0, y0), (x1, y1) ... (xk-1, yk-1). This fitting is done by finding the parameters values that minimizes the objective function ∑(yi-f(xi))2. This is really a least squares problem.
  Since:
    2.0
  Version:
    $Id: CurveFitter.java 1422230 2012-12-15 12:11:13Z erans $

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private class` | `CurveFitter.OldTheoreticalValuesFunction` Deprecated.
    `private class` | `CurveFitter.TheoreticalValuesFunction` Deprecated. Vectorial function computing function theoretical values.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.List<WeightedObservedPoint>` | `observations` Deprecated. Observed points.
    `private DifferentiableMultivariateVectorOptimizer` | `oldOptimizer` Deprecated. as of 3.1 replaced by `optimizer`
    `private MultivariateDifferentiableVectorOptimizer` | `optimizer` Deprecated. Optimizer to use for the fitting.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CurveFitter(DifferentiableMultivariateVectorOptimizer optimizer)` Deprecated. as of 3.1 replaced by `CurveFitter(MultivariateDifferentiableVectorOptimizer)`
    `CurveFitter(MultivariateDifferentiableVectorOptimizer optimizer)` Deprecated. Simple constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObservedPoint(double x, double y)` Deprecated. Add an observed (x,y) point to the sample with unit weight.
    `void` | `addObservedPoint(double weight, double x, double y)` Deprecated. Add an observed weighted (x,y) point to the sample.
    `void` | `addObservedPoint(WeightedObservedPoint observed)` Deprecated. Add an observed weighted (x,y) point to the sample.
    `void` | `clearObservations()` Deprecated. Remove all observations.
    `double[]` | `fit(int maxEval, T f, double[] initialGuess)` Deprecated. Fit a curve.
    `double[]` | `fit(T f, double[] initialGuess)` Deprecated. Fit a curve.
    `WeightedObservedPoint[]` | `getObservations()` Deprecated. Get the observed points.

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

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

- - ### Field Detail

    - #### oldOptimizer

          @Deprecated
          private final DifferentiableMultivariateVectorOptimizer oldOptimizer

      Deprecated. as of 3.1 replaced by `optimizer`
      Optimizer to use for the fitting.

    - #### optimizer

          private final MultivariateDifferentiableVectorOptimizer optimizer

      Deprecated.
      Optimizer to use for the fitting.

    - #### observations

          private final java.util.List<WeightedObservedPoint> observations

      Deprecated.
      Observed points.

  - ### Constructor Detail

    - #### CurveFitter

          public CurveFitter(DifferentiableMultivariateVectorOptimizer optimizer)

      Deprecated. as of 3.1 replaced by `CurveFitter(MultivariateDifferentiableVectorOptimizer)`
      Simple constructor.
      Parameters:
        `optimizer` - optimizer to use for the fitting

    - #### CurveFitter

          public CurveFitter(MultivariateDifferentiableVectorOptimizer optimizer)

      Deprecated.
      Simple constructor.
      Parameters:
        `optimizer` - optimizer to use for the fitting
      Since:
        3.1

  - ### Method Detail

    - #### addObservedPoint

          public void addObservedPoint(double x,
                              double y)

      Deprecated.
      Add an observed (x,y) point to the sample with unit weight.

      Calling this method is equivalent to call `addObservedPoint(1.0, x, y)`.

      Parameters:
        `x` - abscissa of the point
        `y` - observed value of the point at x, after fitting we should have f(x) as close as possible to this value
      See Also:
        `addObservedPoint(double, double, double)`, `addObservedPoint(WeightedObservedPoint)`, `getObservations()`

    - #### addObservedPoint

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

      Deprecated.
      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 f(x) as close as possible to this value
      See Also:
        `addObservedPoint(double, double)`, `addObservedPoint(WeightedObservedPoint)`, `getObservations()`

    - #### addObservedPoint

          public void addObservedPoint(WeightedObservedPoint observed)

      Deprecated.
      Add an observed weighted (x,y) point to the sample.
      Parameters:
        `observed` - observed point to add
      See Also:
        `addObservedPoint(double, double)`, `addObservedPoint(double, double, double)`, `getObservations()`

    - #### getObservations

          public WeightedObservedPoint[] getObservations()

      Deprecated.
      Get the observed points.
      Returns:
        observed points
      See Also:
        `addObservedPoint(double, double)`, `addObservedPoint(double, double, double)`, `addObservedPoint(WeightedObservedPoint)`

    - #### clearObservations

          public void clearObservations()

      Deprecated.
      Remove all observations.

    - #### fit

          public double[] fit(T f,
                     double[] initialGuess)

      Deprecated.
      Fit a curve. This method compute the coefficients of the curve that best fit the sample of observed points previously given through calls to the `addObservedPoint` method.
      Parameters:
        `f` - parametric function to fit.
        `initialGuess` - first guess of the function parameters.
      Returns:
        the fitted parameters.
      Throws:
        `DimensionMismatchException` - if the start point dimension is wrong.

    - #### fit

          public double[] fit(int maxEval,
                     T f,
                     double[] initialGuess)

      Deprecated.
      Fit a curve. This method compute the coefficients of the curve that best fit the sample of observed points previously given through calls to the `addObservedPoint` method.
      Parameters:
        `f` - parametric function to fit.
        `initialGuess` - first guess of the function parameters.
        `maxEval` - Maximum number of function evaluations.
      Returns:
        the fitted parameters.
      Throws:
        `TooManyEvaluationsException` - if the number of allowed evaluations is exceeded.
        `DimensionMismatchException` - if the start point dimension is wrong.
      Since:
        3.0

Copyright (c) 2003-2013 Apache Software Foundation