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 の制約はありません。誰か助けてくれませんか?
どうもありがとう。