5

式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});

私はいくつかの数字を取得しましたが、それらは私のポイントにまったく適合していません。上記のドキュメントが見つからないようです。

コモンズの使用-math3-3.0

4

1 に答える 1

9

これを推定しようとしている場合は、グラフが得られる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
于 2012-10-29T17:46:56.753 に答える