您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在python中确定线性方程组的求解

5b51 2022/1/14 8:20:18 python 字数 1746 阅读 579 来源 www.jb51.cc/python

考虑以下问题: 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()来获得任何未确定的方程组 用sympy象征性地解决方程组

概述

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}

使用scipy.optimize.nnls

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中确定线性方程组的求解所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶