使用java计算最小二乘法

时间:2013-01-30 16:34:57

标签: java least-squares

我正在尝试找到一个java代码来计算Ax = b等式中的最小二乘解(x)。 假设

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

x = A\b

返回

x =

    1.5000
         0
         0

我找到了Class LeastSquares,

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

但是在输入中A和B都是一维数组,但是,在上面的例子中,A是矩阵,B是数组。

Class NonNegativeLeastSquares

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

A是一个矩阵,B是一个数组,但是该类的描述表明它找到了线性方程组Ax = b的近似解,使得|| Ax - b || 2被最小化,并且这样x> = 0.这意味着x必须始终为正。

我需要一个与NonNegativeLeastSquares类似的类,但是没有x> = 0约束。 有人可以帮帮我吗?  非常感谢。

1 个答案:

答案 0 :(得分:6)