此Symphy代码的工作方式与我预期的一样:
>>> x = sp.Symbol("x")
>>> y = sp.Symbol("y")
>>> z = sp.Symbol("z")
>>> (x+y+z).evalf(subs={"x":1, "y":2, "z":3})
6.0
但是,如果我使用实值符号,则表达式不会简化:
>>> x = sp.Symbol("x", real=True)
>>> y = sp.Symbol("y", real=True)
>>> z = sp.Symbol("z", real=True)
>>> (x+y+z).evalf(subs={"x":1, "y":2, "z":3})
x + y + z
我无法通过搜索像sympy symbol real evalf
这样的关键字找到对此的解释-我只得到了不相关的结果.
为什么在第二种情况下表达式没有简化?如何用in值替换实值符号并计算表达式?