5

Ax=b 式の最小二乗解 (x) を計算するための Java コードを見つけようとしています。仮定

A = [1 0 0;1 0 0];
b = [1; 2];

x = A\b

を返します

x =

    1.5000
         0
         0

クラス LeastSquares を見つけました。

public LeastSquares(double[] a, double[] b, int degree)

ただし、入力では A と B の両方が 1 次元配列ですが、上記の例では、A は行列で、B は配列です。

クラス NonNegativeLeastSquares 内

public NonNegativeLeastSquares(int M, int N, double a[][],double b[])

A は行列で、B は配列ですが、クラスの説明では、||Ax - b||2 が最小化され、x >= 0。これは、x が常に正でなければならないことを意味します。

NonNegativeLeastSquares と同様のクラスが必要ですが、x>=0 の制約はありません。誰か助けてくれませんか?
どうもありがとう。

4

1 に答える 1

7

Apache Commons Math ライブラリ、特にSimpleRegressionクラスを参照してください。

于 2013-01-30T17:07:52.240 に答える