Package org.apache.commons.math3.fitting
Class HarmonicCurveFitter
- java.lang.Object
-
- org.apache.commons.math3.fitting.AbstractCurveFitter
-
- org.apache.commons.math3.fitting.HarmonicCurveFitter
-
public class HarmonicCurveFitter extends AbstractCurveFitter
Fits points to aharmonic oscillatorfunction.
Theinitial guess valuesmust be passed in the following order:- Amplitude
- Angular frequency
- phase
- Since:
- 3.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHarmonicCurveFitter.ParameterGuesserThis class guesses harmonic coefficients from a sample.-
Nested classes/interfaces inherited from class org.apache.commons.math3.fitting.AbstractCurveFitter
AbstractCurveFitter.TheoreticalValuesFunction
-
-
Field Summary
Fields Modifier and Type Field Description private static HarmonicOscillator.ParametricFUNCTIONParametric function to be fitted.private double[]initialGuessInitial guess.private intmaxIterMaximum number of iterations of the optimization algorithm.
-
Constructor Summary
Constructors Modifier Constructor Description privateHarmonicCurveFitter(double[] initialGuess, int maxIter)Contructor used by the factory methods.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static HarmonicCurveFittercreate()Creates a default curve fitter.protected LeastSquaresProblemgetProblem(java.util.Collection<WeightedObservedPoint> observations)Creates a least squares problem corresponding to the appropriate curve.HarmonicCurveFitterwithMaxIterations(int newMaxIter)Configure the maximum number of iterations.HarmonicCurveFitterwithStartPoint(double[] newStart)Configure the start point (initial guess).-
Methods inherited from class org.apache.commons.math3.fitting.AbstractCurveFitter
fit, getOptimizer
-
-
-
-
Field Detail
-
FUNCTION
private static final HarmonicOscillator.Parametric FUNCTION
Parametric function to be fitted.
-
initialGuess
private final double[] initialGuess
Initial guess.
-
maxIter
private final int maxIter
Maximum number of iterations of the optimization algorithm.
-
-
Constructor Detail
-
HarmonicCurveFitter
private HarmonicCurveFitter(double[] initialGuess, int maxIter)Contructor used by the factory methods.- Parameters:
initialGuess- Initial guess. If set tonull, the initial guess will be estimated using theHarmonicCurveFitter.ParameterGuesser.maxIter- Maximum number of iterations of the optimization algorithm.
-
-
Method Detail
-
create
public static HarmonicCurveFitter create()
Creates a default curve fitter. The initial guess for the parameters will beHarmonicCurveFitter.ParameterGuessercomputed automatically, and the maximum number of iterations of the optimization algorithm is set toInteger.MAX_VALUE.- Returns:
- a curve fitter.
- See Also:
withStartPoint(double[]),withMaxIterations(int)
-
withStartPoint
public HarmonicCurveFitter withStartPoint(double[] newStart)
Configure the start point (initial guess).- Parameters:
newStart- new start point (initial guess)- Returns:
- a new instance.
-
withMaxIterations
public HarmonicCurveFitter withMaxIterations(int newMaxIter)
Configure the maximum number of iterations.- Parameters:
newMaxIter- maximum number of iterations- Returns:
- a new instance.
-
getProblem
protected LeastSquaresProblem getProblem(java.util.Collection<WeightedObservedPoint> observations)
Creates a least squares problem corresponding to the appropriate curve.- Specified by:
getProblemin classAbstractCurveFitter- Parameters:
observations- Sample points.- Returns:
- the least squares problem to use for fitting the curve to the
given
points.
-
-