Documentation of 'org.spaceroots.mantissa.fitting.PolynomialFitter' Java class
PolynomialFitter
org.spaceroots.mantissa.fitting

Class PolynomialFitter

  • All Implemented Interfaces:
    java.io.Serializable, EstimationProblem


    public class PolynomialFitter
    extends AbstractCurveFitter
    This class implements a curve fitting specialized for polynomials.

    Polynomial fitting is a very simple case of curve fitting. The estimated coefficients are the polynom coefficients. They are searched by a least square estimator.

    This class is by no means optimized, neither in space nor in time performance.

    See Also:
    PolynomialCoefficient, Serialized Form
    • Constructor Detail

      • PolynomialFitter

        public PolynomialFitter(int degree,
                                Estimator estimator)
        Simple constructor.

        The polynomial fitter built this way are complete polynoms, ie. a n-degree polynom has n+1 coefficients. In order to build fitter for sparse polynoms (for example a x^20 - b x^30, on should first build the coefficients array and provide it to PolynomialFitter(PolynomialCoefficient[], int, double, double, double).

        Parameters:
        degree - maximal degree of the polynom
        estimator - estimator to use for the fitting
      • PolynomialFitter

        public PolynomialFitter(PolynomialCoefficient[] coefficients,
                                Estimator estimator)
        Simple constructor.

        This constructor can be used either when a first estimate of the coefficients is already known (which is of little interest because the fit cost is the same whether a first guess is known or not) or when one needs to handle sparse polynoms like a x^20 - b x^30.

        Parameters:
        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.
        estimator - estimator to use for the fitting
      • PolynomialFitter

        public PolynomialFitter(int degree,
                                int maxIterations,
                                double convergence,
                                double steadyStateThreshold,
                                double epsilon)
        Deprecated. replaced by PolynomialFitter(int,Estimator) as of version 7.0
        Simple constructor.

        The polynomial fitter built this way are complete polynoms, ie. a n-degree polynom has n+1 coefficients. In order to build fitter for sparse polynoms (for example a x^20 - b x^30, on should first build the coefficients array and provide it to PolynomialFitter(PolynomialCoefficient[], int, double, double, double).

        Parameters:
        degree - maximal degree of the polynom
        maxIterations - maximum number of iterations allowed
        convergence - criterion threshold below which we do not need to improve the criterion anymore
        steadyStateThreshold - 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).
      • PolynomialFitter

        public PolynomialFitter(PolynomialCoefficient[] coefficients,
                                int maxIterations,
                                double convergence,
                                double steadyStateThreshold,
                                double epsilon)
        Deprecated. replaced by PolynomialFitter(PolynomialCoefficient[], Estimator) as of version 7.0
        Simple constructor.

        This constructor can be used either when a first estimate of the coefficients is already known (which is of little interest because the fit cost is the same whether a first guess is known or not) or when one needs to handle sparse polynoms like a x^20 - b x^30.

        Parameters:
        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 allowed
        convergence - criterion threshold below which we do not need to improve the criterion anymore
        steadyStateThreshold - 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

      • valueAt

        public double valueAt(double x)
        Get the value of the function at x according to the current parameters value.
        Specified by:
        valueAt in class AbstractCurveFitter
        Parameters:
        x - abscissa at which the theoretical value is requested
        Returns:
        theoretical value at x
      • partial

        public double partial(double x,
                              EstimatedParameter p)
        Get the derivative of the function at x with respect to parameter p.
        Specified by:
        partial in class AbstractCurveFitter
        Parameters:
        x - abscissa at which the partial derivative is requested
        p - parameter with respect to which the derivative is requested
        Returns:
        partial derivative

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.