org.apache.commons.math.optimization.fitting

## Class GaussianFitter

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

-     public class GaussianFitter
      extends Object

  Fits points to a Gaussian function (that is, a `GaussianFunction`).

  Usage example:

         GaussianFitter fitter = new GaussianFitter(
           new LevenbergMarquardtOptimizer());
         fitter.addObservedPoint(4.0254623,  531026.0);
         fitter.addObservedPoint(4.03128248, 984167.0);
         fitter.addObservedPoint(4.03839603, 1887233.0);
         fitter.addObservedPoint(4.04421621, 2687152.0);
         fitter.addObservedPoint(4.05132976, 3461228.0);
         fitter.addObservedPoint(4.05326982, 3580526.0);
         fitter.addObservedPoint(4.05779662, 3439750.0);
         fitter.addObservedPoint(4.0636168,  2877648.0);
         fitter.addObservedPoint(4.06943698, 2175960.0);
         fitter.addObservedPoint(4.07525716, 1447024.0);
         fitter.addObservedPoint(4.08237071, 717104.0);
         fitter.addObservedPoint(4.08366408, 620014.0);
        GaussianFunction fitFunction = fitter.fit();

  Since:
    2.2
  Version:
    $Revision: 1073158 $ $Date: 2011-02-21 22:46:52 +0100 (lun. 21 févr. 2011) $
  See Also:
    `ParametricGaussianFunction`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private CurveFitter` | `fitter` Fitter used for fitting.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GaussianFitter(DifferentiableMultivariateVectorialOptimizer optimizer)` Constructs an instance using the specified optimizer.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObservedPoint(double x, double y)` Adds point (`x`, `y`) to list of observed points with a weight of 1.0.
    `void` | `addObservedPoint(double weight, double x, double y)` Adds point (`x`, `y`) to list of observed points with a weight of `weight`.
    `protected GaussianParametersGuesser` | `createParametersGuesser(WeightedObservedPoint[] observations)` Factory method to create a `GaussianParametersGuesser` instance initialized with the specified observations.
    `GaussianFunction` | `fit()` Fits Gaussian function to the observed 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 used for fitting.

  - ### Constructor Detail

    - #### GaussianFitter

          public GaussianFitter(DifferentiableMultivariateVectorialOptimizer optimizer)

      Constructs an instance using the specified optimizer.
      Parameters:
        `optimizer` - optimizer to use for the fitting

  - ### Method Detail

    - #### addObservedPoint

          public void addObservedPoint(double x,
                              double y)

      Adds point (`x`, `y`) to list of observed points with a weight of 1.0.
      Parameters:
        `x` - `x` point value
        `y` - `y` point value

    - #### addObservedPoint

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

      Adds point (`x`, `y`) to list of observed points with a weight of `weight`.
      Parameters:
        `weight` - weight assigned to point
        `x` - `x` point value
        `y` - `y` point value

    - #### fit

          public GaussianFunction fit()
                               throws FunctionEvaluationException,
                                      OptimizationException

      Fits Gaussian function to the observed points.
      Returns:
        Gaussian function best fitting the observed points
      Throws:
        `FunctionEvaluationException` - if `CurveFitter.fit` throws it
        `OptimizationException` - if `CurveFitter.fit` throws it
        `IllegalArgumentException` - if `CurveFitter.fit` throws it
      See Also:
        `CurveFitter`

    - #### createParametersGuesser

          protected GaussianParametersGuesser createParametersGuesser(WeightedObservedPoint[] observations)

      Factory method to create a `GaussianParametersGuesser` instance initialized with the specified observations.
      Parameters:
        `observations` - points used to initialize the created `GaussianParametersGuesser` instance
      Returns:
        new `GaussianParametersGuesser` instance

Copyright (c) 2003-2013 Apache Software Foundation