Class GaussianFitter
- java.lang.Object
-
- org.apache.commons.math.optimization.fitting.GaussianFitter
-
public class GaussianFitter extends java.lang.Object
Fits points to a Gaussian function (that is, aGaussianFunction
).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
-
-
Constructor Summary
Constructors Constructor Description GaussianFitter(DifferentiableMultivariateVectorialOptimizer optimizer)
Constructs an instance using the specified optimizer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 ofweight
.protected GaussianParametersGuesser
createParametersGuesser(WeightedObservedPoint[] observations)
Factory method to create aGaussianParametersGuesser
instance initialized with the specified observations.GaussianFunction
fit()
Fits Gaussian function to the observed points.
-
-
-
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 valuey
- 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 ofweight
.- Parameters:
weight
- weight assigned to pointx
- x point valuey
- 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
- ifCurveFitter.fit
throws itOptimizationException
- ifCurveFitter.fit
throws itjava.lang.IllegalArgumentException
- ifCurveFitter.fit
throws it- See Also:
CurveFitter
-
createParametersGuesser
protected GaussianParametersGuesser createParametersGuesser(WeightedObservedPoint[] observations)
Factory method to create aGaussianParametersGuesser
instance initialized with the specified observations.- Parameters:
observations
- points used to initialize the createdGaussianParametersGuesser
instance- Returns:
- new
GaussianParametersGuesser
instance
-
-