Class HarmonicFitter
- java.lang.Object
-
- org.apache.commons.math.optimization.fitting.HarmonicFitter
-
public class HarmonicFitter extends java.lang.Object
This class implements a curve fitting specialized for sinusoids.Harmonic fitting is a very simple case of curve fitting. The estimated coefficients are the amplitude a, the pulsation ω and the phase φ:
f (t) = a cos (ω t + φ)
. They are searched by a least square estimator initialized with a rough guess based on integrals.- Since:
- 2.0
- Version:
- $Revision: 1073158 $ $Date: 2011-02-21 22:46:52 +0100 (lun. 21 févr. 2011) $
-
-
Constructor Summary
Constructors Constructor Description HarmonicFitter(DifferentiableMultivariateVectorialOptimizer optimizer)
Simple constructor.HarmonicFitter(DifferentiableMultivariateVectorialOptimizer optimizer, double[] initialGuess)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addObservedPoint(double weight, double x, double y)
Add an observed weighted (x,y) point to the sample.HarmonicFunction
fit()
Fit an harmonic function to the observed points.
-
-
-
Constructor Detail
-
HarmonicFitter
public HarmonicFitter(DifferentiableMultivariateVectorialOptimizer optimizer)
Simple constructor.- Parameters:
optimizer
- optimizer to use for the fitting
-
HarmonicFitter
public HarmonicFitter(DifferentiableMultivariateVectorialOptimizer optimizer, double[] initialGuess)
Simple constructor.This constructor can be used when a first guess of the coefficients is already known.
- Parameters:
optimizer
- optimizer to use for the fittinginitialGuess
- guessed values for amplitude (index 0), pulsation ω (index 1) and phase φ (index 2)
-
-
Method Detail
-
addObservedPoint
public void addObservedPoint(double weight, double x, double y)
Add an observed weighted (x,y) point to the sample.- Parameters:
weight
- weight of the observed point in the fitx
- abscissa of the pointy
- observed value of the point at x, after fitting we should have P(x) as close as possible to this value
-
fit
public HarmonicFunction fit() throws OptimizationException
Fit an harmonic function to the observed points.- Returns:
- harmonic function best fitting the observed points
- Throws:
OptimizationException
- if the sample is too short or if the first guess cannot be computed
-
-