Class GaussianFitter
java.lang.Object
org.apache.commons.math.optimization.fitting.GaussianFitter
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:
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an instance using the specified optimizer. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.fit()
Fits Gaussian function to the observed points.
-
Constructor Details
-
GaussianFitter
Constructs an instance using the specified optimizer.- Parameters:
optimizer
- optimizer to use for the fitting
-
-
Method Details
-
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
Fits Gaussian function to the observed points.- Returns:
- Gaussian function best fitting the observed points
- Throws:
FunctionEvaluationException
- ifCurveFitter.fit
throws itOptimizationException
- ifCurveFitter.fit
throws itIllegalArgumentException
- ifCurveFitter.fit
throws it- See Also:
-
createParametersGuesser
Factory method to create aGaussianParametersGuesser
instance initialized with the specified observations.- Parameters:
observations
- points used to initialize the createdGaussianParametersGuesser
instance- Returns:
- new
GaussianParametersGuesser
instance
-