Python – 解决多变量的线性方程

Python – 解决多变量的线性方程

Prerequisite: Sympy.solve()

在这篇文章中,我们将讨论如何解决有一个以上变量的线性方程。例如,假设我们有两个变量的方程。方程如下。

x+y =1

x-y =1

当我们解决这个方程时,我们得到x=1,y=0作为其中一个解决方案。在Python中,我们使用Eq()方法从表达式中创建一个方程。

语法 : Eq(expression,RHS value)

例如,如果我们有表达式为x+y=1。它可以被写成Eq(x+y,1)

用两个变量解方程

使用Eq()方法构造方程。为了解决这些方程,将它们作为参数传给solve()函数。

示例 :

# importing library sympy
from sympy import symbols, Eq, solve
  
# defining symbols used in equations
# or unknown variables
x, y = symbols('x,y')
  
# defining equations
eq1 = Eq((x+y), 1)
print("Equation 1:")
print(eq1)
eq2 = Eq((x-y), 1)
print("Equation 2")
print(eq2)
  
# solving the equation
print("Values of 2 unknown variable are as follows:")
  
print(solve((eq1, eq2), (x, y)))

输出:

Equation 1:
Eq(x + y, 1)
Equation 2
Eq(x - y, 1)
Values of 2 unknown variable are as follows:
{x: 1, y: 0} 

解决有三个变量的方程

使用Eq()构建以下方程,然后求解,找出未知变量。

x +y+z =1

x+y+2z=1

示例:

# importing library sympy
from sympy import symbols, Eq, solve
  
# defining symbols used in equations
# or unknown variables
x, y, z = symbols('x,y,z')
  
# defining equations
eq1 = Eq((x+y+z), 1)
print("Equation 1:")
print(eq1)
  
eq2 = Eq((x-y+2*z), 1)
print("Equation 2")
print(eq2)
  
eq3 = Eq((2*x-y+2*z), 1)
print("Equation 3")
  
# solving the equation and printing the 
# value of unknown variables
print("Values of 3 unknown variable are as follows:")
print(solve((eq1, eq2, eq3), (x, y, z)))

输出:

Equation 1:
Eq(x + y + z, 1)
Equation 2
Eq(x - y + 2*z, 1)
Equation 3
Values of 3 unknown variable are as follows:
{x: 0, y: 1/3, z: 2/3}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程