Class PolynomialCurveFitter


  • public class PolynomialCurveFitter
    extends AbstractCurveFitter
    Fits points to a polynomial function.
    The size of the initial guess array defines the degree of the polynomial to be fitted. They must be sorted in increasing order of the polynomial's degree. The optimal values of the coefficients will be returned in the same order.
    Since:
    3.3
    • Field Detail

      • initialGuess

        private final double[] initialGuess
        Initial guess.
      • maxIter

        private final int maxIter
        Maximum number of iterations of the optimization algorithm.
    • Constructor Detail

      • PolynomialCurveFitter

        private PolynomialCurveFitter​(double[] initialGuess,
                                      int maxIter)
        Contructor used by the factory methods.
        Parameters:
        initialGuess - Initial guess.
        maxIter - Maximum number of iterations of the optimization algorithm.
        Throws:
        MathInternalError - if initialGuess is null.
    • Method Detail

      • create

        public static PolynomialCurveFitter create​(int degree)
        Creates a default curve fitter. Zero will be used as initial guess for the coefficients, and the maximum number of iterations of the optimization algorithm is set to Integer.MAX_VALUE.
        Parameters:
        degree - Degree of the polynomial to be fitted.
        Returns:
        a curve fitter.
        See Also:
        withStartPoint(double[]), withMaxIterations(int)
      • withStartPoint

        public PolynomialCurveFitter withStartPoint​(double[] newStart)
        Configure the start point (initial guess).
        Parameters:
        newStart - new start point (initial guess)
        Returns:
        a new instance.
      • withMaxIterations

        public PolynomialCurveFitter 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:
        getProblem in class AbstractCurveFitter
        Parameters:
        observations - Sample points.
        Returns:
        the least squares problem to use for fitting the curve to the given points.