|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jscience.mathematics.analysis.fitting.AbstractCurveFitter
org.jscience.mathematics.analysis.fitting.HarmonicFitter
public class HarmonicFitter
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 omega and
the phase phi: f (t) = a cos (omega t + phi). They are
searched by a least square estimator initialized with a rough guess
based on integrals.
This class
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jscience.mathematics.analysis.fitting.AbstractCurveFitter |
|---|
AbstractCurveFitter.FitMeasurement |
| Field Summary |
|---|
| Fields inherited from class org.jscience.mathematics.analysis.fitting.AbstractCurveFitter |
|---|
coefficients, measurements |
| Constructor Summary | |
|---|---|
HarmonicFitter(EstimatedParameter[] coefficients,
int maxIterations,
double convergence,
double steadyStateThreshold,
double epsilon)
Simple constructor. |
|
HarmonicFitter(int maxIterations,
double convergence,
double steadyStateThreshold,
double epsilon)
Simple constructor. |
|
| Method Summary | |
|---|---|
double[] |
fit()
Perform the fitting. |
double |
getAmplitude()
Get the current amplitude coefficient estimate. |
double |
getPhase()
Get the current phase coefficient estimate. |
double |
getPulsation()
Get the current pulsation coefficient estimate. |
double |
partial(double x,
EstimatedParameter p)
Get the derivative of the function at x with respect to parameter p. |
double |
valueAt(double x)
Get the value of the function at x according to the current parameters value. |
| Methods inherited from class org.jscience.mathematics.analysis.fitting.AbstractCurveFitter |
|---|
addWeightedPair, getAllParameters, getMeasurements, getUnboundParameters, sortMeasurements |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.jscience.mathematics.analysis.estimation.EstimationProblem |
|---|
getAllParameters, getMeasurements, getUnboundParameters |
| Constructor Detail |
|---|
public HarmonicFitter(int maxIterations,
double convergence,
double steadyStateThreshold,
double epsilon)
maxIterations - maximum number of iterations allowedconvergence - criterion threshold below which we do not need
to improve the criterion anymoresteadyStateThreshold - steady state detection threshold, the
problem has reached a steady state (read converged) if
Math.abs (Jn - Jn-1) < Jn * convergence, where
Jn and Jn-1 are the current and
preceding criterion value (square sum of the weighted residuals
of considered measurements).epsilon - threshold under which the matrix of the linearized
problem is considered singular (see SquareMatrix.solve).
public HarmonicFitter(EstimatedParameter[] coefficients,
int maxIterations,
double convergence,
double steadyStateThreshold,
double epsilon)
This constructor can be used when a first estimate of the coefficients is already known.
coefficients - first estimate of the coefficients.
A reference to this array is hold by the newly created
object. Its elements will be adjusted during the fitting process
and they will be set to the adjusted coefficients at the end.maxIterations - maximum number of iterations allowedconvergence - criterion threshold below which we do not need
to improve the criterion anymoresteadyStateThreshold - steady state detection threshold, the
problem has reached a steady state (read converged) if
Math.abs (Jn - Jn-1) < Jn * convergence, where
Jn and Jn-1 are the current and
preceding criterion value (square sum of the weighted residuals
of considered measurements).epsilon - threshold under which the matrix of the linearized
problem is considered singular (see SquareMatrix.solve).| Method Detail |
|---|
public double[] fit()
throws EstimationException
AbstractCurveFitterThis method compute the coefficients of the curve that best
fit the sample of weighted pairs previously given through calls
to the addWeightedPair method.
fit in class AbstractCurveFitterEstimationException - if the fitting is not possible
(for example if the sample has to few independant points)public double getAmplitude()
f (t) = a cos (omega t + phi)
public double getPulsation()
f (t) = a cos (omega t + phi)
public double getPhase()
f (t) = a cos (omega t + phi)
public double valueAt(double x)
valueAt in class AbstractCurveFitterx - abscissa at which the theoretical value is requested
public double partial(double x,
EstimatedParameter p)
partial in class AbstractCurveFitterx - abscissa at which the partial derivative is requestedp - parameter with respect to which the derivative is requested
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||