Class 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
    • Constructor Detail

      • 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 fitting
        initialGuess - 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 fit
        x - abscissa of the point
        y - observed value of the point at x, after fitting we should have P(x) as close as possible to this value