通过线性方程式y = mx的原点曲线拟合

问题描述 投票:1回答:1

是否有一种方法可以强制Apache通用数学通过原点(0,0)拟合形式为[y = mx + 0)的线性曲线。到目前为止,我已经使用了PolynomialCurveFitter和SimpleCurveFitter,但是它们都不返回通过原点的结果。例如:

final WeightedObservedPoints wopts = new WeightedObservedPoints();
//Add observed points to wopts: 
...
final PolynomialCurveFitter curveFitter = PolynomialCurveFitter.create(1);
double[] coeff = {0.0, 042};  //y = 0.042x + 0
curveFitter.withStartPoint(coeff);
final double[] bestPrediction = curveFitter.fit(wopts.toList());

但是bestPrediction [0]不是0.0任何提示将不胜感激。

curve-fitting apache-commons-math
1个回答
0
投票

在此行:

  double[] coeff = {0.0, 042};

您使用内部转换为双精度值octal integer042 8*4 + 2(即34.0)。

将行定义为:

  double[] coeff = {0.0, 0.42};
© www.soinside.com 2019 - 2024. All rights reserved.