如何在sympy中显示完整的表达?

时间:2016-11-25 13:54:06

标签: sympy

我正在尝试在Jupyter笔记本中使用 sympy 以可再版方式记录和执行一系列数学计算。

如果我定义以下内容:

from sympy import *

init_printing()
x, y, z = symbols("x y z")

x=y+z
x

然后我可以显示x的值(即y+z)。

如何显示完整的等式(x=y+z)?

运行Eq(x,y+z),即使使用evaluate=False,也会返回值为x的表达式(y+z=y+z)。

2 个答案:

答案 0 :(得分:1)

虽然您首先将x声明为sympy.Symbol,但在执行作业x=y+z后,x将成为y+z的别名。每当您使用x之后,x将被python自动翻译为y+z

如果您坚持此工作流程,则可以使用Eq(S('x'),y+z)来显示公式。

答案 1 :(得分:1)

我尝试使用Eq(S('x'),y+z),也Eq(S('x'),x)sympy继续返回布尔变量。

因此,我找到了一种使用Ipython内置函数来显示它的方法:

from sympy import *
from IPython.display import display, Math

init_printing()
x, y, z = symbols("x y z")

x=y+z
display(Math('x = '+latex(x)))

我认为这是解决该问题的更一般的方法。