org.apache.commons.math3.fitting

## Class GaussianCurveFitter

- java.lang.Object
- - org.apache.commons.math3.fitting.AbstractCurveFitter
  - - org.apache.commons.math3.fitting.GaussianCurveFitter

-     public class GaussianCurveFitter
      extends AbstractCurveFitter

  Fits points to a `Gaussian` function.
  The `initial guess values` must be passed in the following order:
  - Normalization
  - Mean
  - Sigma
  The optimal values will be returned in the same order.

  Usage example:

         WeightedObservedPoints obs = new WeightedObservedPoints();
         obs.add(4.0254623,  531026.0);
         obs.add(4.03128248, 984167.0);
         obs.add(4.03839603, 1887233.0);
         obs.add(4.04421621, 2687152.0);
         obs.add(4.05132976, 3461228.0);
         obs.add(4.05326982, 3580526.0);
         obs.add(4.05779662, 3439750.0);
         obs.add(4.0636168,  2877648.0);
         obs.add(4.06943698, 2175960.0);
         obs.add(4.07525716, 1447024.0);
         obs.add(4.08237071, 717104.0);
         obs.add(4.08366408, 620014.0);
         double[] parameters = GaussianCurveFitter.create().fit(obs);

  Since:
    3.3
  Version:
    $Id: GaussianCurveFitter.java 1571640 2014-02-25 10:27:21Z erans $

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `GaussianCurveFitter.ParameterGuesser` Guesses the parameters `norm`, `mean`, and `sigma` of a `Gaussian.Parametric` based on the specified observed points.

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

      `AbstractCurveFitter.TheoreticalValuesFunction`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static GaussianCurveFitter` | `create()` Creates a default curve fitter.
    `protected LeastSquaresProblem` | `getProblem(Collection<WeightedObservedPoint> observations)` Creates a least squares problem corresponding to the appropriate curve.
    `GaussianCurveFitter` | `withMaxIterations(int newMaxIter)` Configure the maximum number of iterations.
    `GaussianCurveFitter` | `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 Detail

    - #### create

          public static GaussianCurveFitter create()

      Creates a default curve fitter. The initial guess for the parameters will be `GaussianCurveFitter.ParameterGuesser` computed automatically, and the maximum number of iterations of the optimization algorithm is set to `Integer.MAX_VALUE`.
      Returns:
        a curve fitter.
      See Also:
        `withStartPoint(double[])`, `withMaxIterations(int)`

    - #### withStartPoint

          public GaussianCurveFitter withStartPoint(double[] newStart)

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

    - #### withMaxIterations

          public GaussianCurveFitter 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`.

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.