如何使用Sympy使用我设计的唯一变量象征性地求解方程

时间:2018-02-24 21:13:32

标签: python sympy symbolic-math

给出等式

x + y + z = 1
y = x

然后我们可以表达

z = 1 - 2x

这也是有效的

z = 1 - 2y

我希望在Sympy中编写这两个方程式, z 仅用 x 表示。

我知道我可以通过将 y 添加为未知来完成此操作。

我只是不想使用它,因为我的方程式有太多的冗余变量,我不想把所有这些变量都写成输出

2 个答案:

答案 0 :(得分:1)

您可以使用exclude标志告诉它要解决的变量(以及作为常量处理):

>>> solve(eqns, exclude=[x])
{y: x, z: -2*x + 1}

答案 1 :(得分:0)

你可以做替换以消除'冗余'变量:

e1 = Eq(x + y + z, 1)
e1.subs(y, x)

2x + z = 1 # sympy live scraped pretty print output