概述
Find: x_1,x_2,x_3 > 0
such that 67.5=60*x_1+90*x_2+120*x_3
and 60=30*x_1+120*x_2+90*x_3
有没有办法在Python中解决这个等式?
(类似的问题已经被要求用于MATLAB)
任何人都可以举例说明如何在python中使用scipy.nnls()来获得任何未确定的方程组
from sympy import * x_1,x_3 = symbols('x_1 x_2 x_3') res = solve([Eq(60*x_1+90*x_2+120*x_3,67.5),Eq(30*x_1+120*x_2+90*x_3,60)],[x_1,x_3]) print res #{x_1: -1.4*x_3 + 0.6,x_2: -0.4*x_3 + 0.35}
import numpy as np import matplotlib.pyplot as plt from scipy.optimize import nnls A = np.array([[60,90,120],[30,120,90]]) b = np.array([67.5,60]) x,rnorm = nnls(A,b) print x #[ 0. 0.17857143 0.42857143] print rnorm #0.0
尽管如此,这只承诺一个解决方案,其中参数是x> = 0,因此您可以获得零,就像您在此示例中所做的那样.
总结
以上是编程之家为你收集整理的在python中确定线性方程组的求解全部内容,希望文章能够帮你解决在python中确定线性方程组的求解所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧