使用java计算最小二乘法
作者:互联网
我试图找到一个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约束.
有人可以帮帮我吗?
非常感谢.
解决方法:
见Apache Commons Math library,特别是SimpleRegression
class.
标签:java,least-squares 来源: https://codeday.me/bug/20190517/1123254.html