用sympy替换表达式

时间:2018-11-15 17:15:41

标签: python sympy

我是sympy的新手,无法弄清楚如何关联符号并打印该关系。

import sympy
U, R, I = sympy.symbols('U, R, I')
U = R * I
sympy.simplify(R * I)

我想打印U而不是R * I

在这里,我正在覆盖U,并且正在寻找一种定义符号之间的关系并打印该关系的方法。这可能吗?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

请阅读https://docs.sympy.org/latest/tutorial/gotchas.html。您会混淆符号和Python变量。编写U = R * I时,将覆盖上一行中定义的符号U。它成为指向表达式R * I的Python变量。特别要注意的是,Python变量的名称与SymPy使用的符号变量名称无关。您可能还写了expr = R * I并使用expr代替了U。 SymPy无法“知道” R * I在名为“ U”或“ expr”的Python变量中。

如果您希望U是一个符号变量,则应采用这种方式。然后,您可以使用Eq来表示符号相等:

>>> U, R, I = sympy.symbols('U, R, I')
>>> Eq(U, R*I)
Eq(U, I*R)