Package org.hipparchus.fitting
Class AbstractCurveFitter
- java.lang.Object
 - 
- org.hipparchus.fitting.AbstractCurveFitter
 
 
- 
- Direct Known Subclasses:
 GaussianCurveFitter,HarmonicCurveFitter,PolynomialCurveFitter,SimpleCurveFitter
public abstract class AbstractCurveFitter extends Object
Base class that contains common code for fitting parametric univariate real functionsy = f(pi;x), wherexis the independent variable and thepiare the parameters.
A fitter will find the optimal values of the parameters by fitting the curve so it remains very close to a set ofNobserved points(xk, yk),0 <= k < N.
An algorithm usually performs the fit by finding the parameter values that minimizes the objective function
which is actually a least-squares problem. This class contains boilerplate code for calling the∑yk - f(xk)2,fit(Collection)method for obtaining the parameters. The problem setup, such as the choice of optimization algorithm for fitting a specific function is delegated to subclasses. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractCurveFitter.TheoreticalValuesFunctionVector function for computing function theoretical values. 
- 
Constructor Summary
Constructors Constructor Description AbstractCurveFitter()Empty constructor. 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double[]fit(Collection<WeightedObservedPoint> points)Fits a curve.protected LeastSquaresOptimizergetOptimizer()Creates an optimizer set up to fit the appropriate curve.protected abstract LeastSquaresProblemgetProblem(Collection<WeightedObservedPoint> points)Creates a least squares problem corresponding to the appropriate curve. 
 - 
 
- 
- 
Method Detail
- 
fit
public double[] fit(Collection<WeightedObservedPoint> points)
Fits a curve. This method computes the coefficients of the curve that best fit the sample of observed points.- Parameters:
 points- Observations.- Returns:
 - the fitted parameters.
 
 
- 
getOptimizer
protected LeastSquaresOptimizer getOptimizer()
Creates an optimizer set up to fit the appropriate curve.The default implementation uses a
Levenberg-Marquardtoptimizer.- Returns:
 - the optimizer to use for fitting the curve to the
 given 
points. 
 
- 
getProblem
protected abstract LeastSquaresProblem getProblem(Collection<WeightedObservedPoint> points)
Creates a least squares problem corresponding to the appropriate curve.- Parameters:
 points- Sample points.- Returns:
 - the least squares problem to use for fitting the curve to the
 given 
points. 
 
 - 
 
 -