List of usage examples for org.apache.commons.math3.fitting SimpleCurveFitter create
public static SimpleCurveFitter create(ParametricUnivariateFunction f, double[] start)
From source file:heizung.Heizkurve.java
public static PolynomialFunction getPolynomialFit(List<Point> pList) { PolynomialFunction result = null;/*from w w w. j a v a 2 s . c o m*/ if (pList == null) { return result; } try { final WeightedObservedPoints obs = new WeightedObservedPoints(); for (Point p : pList) { obs.add(p.getX(), p.getY()); } final ParametricUnivariateFunction function = new PolynomialFunction.Parametric(); // Start fit from initial guesses that are far from the optimal // values. // final SimpleCurveFitter fitter = // SimpleCurveFitter.create(function, // new double[] { -1e20, 3e15, -5e25 }); final SimpleCurveFitter fitter = SimpleCurveFitter.create(function, new double[] { -2e20, 1e15, -1e25 }); // 2e2 ist 2*10^2 = 2*100 final double[] best = fitter.fit(obs.toList()); // System.out.println("Parameters: " + best.length); // funktion ausgeben result = new PolynomialFunction(best); } catch (Exception e) { // e.printStackTrace(); System.out.println("PolynomialFunction: " + e); } return result; }