首页 > 解决方案 > python求解具有解> 0的联立方程

问题描述

我有联立方程(有很多方程),没有解决方案,我需要找到一个最佳解决方案。解决方案的每个元素都必须>0(没有 0 或负数)。

np.linalg.lstsq可以得到最好的解决方案,但也可能出现负面因素。

scipy.optimize.nnls可以在没有负元素的情况下得到最佳解,但也可能出现 0。

如何限制每个元素> 0 以获得最佳解决方案,或者是否有任何其他功能可以用来解决问题?

标签: pythonnumpyscipylinear-algebra

解决方案


对于每个参数p,定义p_ = p - eps为非常小eps

求解{p_},然后赋值p = p_ + eps,你得到的所有参数都高于零。

在实践中,只需将 epsilon 添加到解决方案中即可。

如果这还不够,请解释原因。


推荐阅读