[英]Exponential Fit with apache commons math
我試圖用公式A * EXP(-BX)對各個點(x,y)進行指數擬合,試圖找到最適合我的點的A和B.
double[] xx = curveFitter.fit(new ParametricUnivariateFunction() {
public double value(double v, double... doubles) {
return doubles[0] * Math.exp(-1 * doubles[1] * v);
}
public double[] gradient(double v, double... doubles) {
return new double[]{v, 1};
}
}, new double[]{0, 0});
我得到了一些數字,但它們不符合我的觀點,似乎無法找到上述任何文檔。
使用commons-math3-3.0
如果您正在嘗試估計這個,我建議您使用y的日志來為您提供圖表
y' = log(y) = A - B * x;
由此您可以計算斜率和截距。
slope = sum((x - mean(x)) * (y' - mean(y')) / sum((x - mean(x))^2) // -B
intercept = mean(y' - x * slope) // A
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.