用python求解方程组

时间:2019-02-15 18:45:31

标签: python solver

如何在python中解决以下简单的方程式系统?

x =(2/3)* y +(1/3)* 0

y =(2/3)* 1 +(1/3)* x

我尝试过SymPy,但无法弄清楚。

解决了方程部分

from sympy import *
from sympy.solvers.solveset import linsolve
x, y = symbols('x, y')
linsolve([x - 2/3*y, y - 2/3 - 1/3*x ], (x, y))

输出:{(0.571428571428571,0.857142857142857)}

类型为'sympy.sets.sets.FiniteSet'

如何仅提取x值设置为变量?

知道了。

z = linsolve([x - 2/3*y, y - 2/3 - 1/3*x ], (x, y))

print(z.args[0][0])

1 个答案:

答案 0 :(得分:0)

使用numpy python模块

求解线性方程组的示例

情况1:

24a + 4b = 35

8a + 4b = 94

情况2:

a + b = 4

2a + b = 8

>>> import numpy as np
>>> a = np.array([[24, 4],[8,4]])
>>> b = np.array([35, 94])
>>> print(np.linalg.solve(a,b))
[-3.6875 30.875 ]
>>> a = np.array([[1, 1],[2,1]])
>>> b = np.array([4, 8])
>>> print(np.linalg.solve(a,b))
[4. 0.]