我正在尝试使用Java中的PolynomialCurveFitter和Apache Maths来拟合具有2度多项式回归的曲线。这是我的代码:
final WeightedObservedPoints obs = new WeightedObservedPoints();
obs.add(1, 3400);
obs.add(3, 6000);
obs.add(8, 9600);
obs.add(10, 30000);
// Instantiate a third-degree polynomial fitter.
final PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);
// Retrieve fitted parameters (coefficients of the polynomial function).
final double[] coeff = fitter.fit(obs.toList());
//System.out.println(coeff);
System.out.println("coef="+Arrays.toString(coeff));
并且它工作正常,但我想拦截(0,0),即我在等式中的常数项为零:y = ax + bx ^ 2.
非常感谢你的帮助, 佛瑞德
答案 0 :(得分:1)
您可以使用巨大的权重添加点(0,0),例如obs.add(10000,0,0)。 如果使用obs.add(0,0),则默认权重为1.