在求解方程之前,我使用subs方法将表达式中的某些参数替换为值。
下面的简单示例可以很好地工作:
from sympy import Symbol Q = Symbol("Q") exp1 = Q + 1 print(exp1.subs({'Q': 1})) # prints 2
但是,如果符号有一个假设,例如 real 或 positive 指定此操作不起作用:
real
positive
Q = Symbol("Q", positive=True) exp1 = Q + 1 print(exp1.subs({'Q': 1})) # prints Q + 1
为什么会这样,我做错了什么?
不要使用字符串键。
print(exp1.subs({Q: 1}))