python中如何获得非方矩阵(非齐次)可能解中的一组正值解?

M*N的非方阵矩阵(列多于行)应有无数个解,现今想求得其中一组正值解。
即符合下述方程的一组正值解。

2*x_1 + 3*x_2 + 9*x_3 +...+ 13*x_n = 12345.325514
3*x_1 + 5*x_2 + 6*x_3 +...+ 9*x_n = 93834.135
6*x_1 + 45*x_2 + 8*x_3 +...+ 0*x_n = 24125.13545
4*x_1 + 2*x_2 + 1*x_3 +...+ 0*dx_n = 124325.683

上述方程组中未知数的量是不定的,但大于4种。

在搜索到结果中求解方法是使用numpy库中linalg。
调用numpy.linalg.lstsq函数

numpy.linalg.lstsq(a,b)

可以矩阵方式求得其最小二乘法近似解,但解中可能有负数。
现今想求得一组满足上述非齐次线性方程的正值特解。
只要满足上述方程并为正值即可。
不胜感激。

查看回复