我正在尝试在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
)。
答案 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)))
我认为这是解决该问题的更一般的方法。