在 SymPy 中将一个方程代入另一个方程

Substitute one equation into another in SymPy

假设我有方程 x = z + 2y = x + 1,我想将第一个方程代入第二个方程,消去 x 得到 y = z + 3。在 SymPy 中,我可以创建前两个方程式:

x = sympy.symbols('x')
y = sympy.symbols('y')
z = sympy.symbols('z')
equation_one = sympy.Eq(x, z + 2)
equation_two = sympy.Eq(y, x + 1)

现在将 equation_one 替换为 equation_two 的正确方法是什么?输出应该是一个新方程。

在这种情况下可行的方法是使用属性 lhs/rhs(“左侧”和“右侧”)。

import sympy as sp

x = sp.symbols('x')
y = sp.symbols('y')
z = sp.symbols('z')
equation_one = sp.Eq(x, z + 2)
equation_two = sp.Eq(y, x + 1)

print(equation_two.subs(equation_one.lhs,equation_one.rhs))

结果:

Eq(y, z + 3)