0
Im新的Sympy,我试图用它来计算一些表达式,但有时,单独使用.subs()函数,或后跟.evalf(),不给任何浮动或整数值。Sympy - 不能评估表达式
##--IMPORT
from mpmath import *
from sympy import *
from sympy.parsing.sympy_parser import parse_expr
x = symbols("x")
_fOfX = "e**x + x + 1"
if __name__== "__main__":
#Function to sympy expression
_sympyFunction = sympify(_fOfX)
#Calcolo la derivata prima
_dPrima = diff(_sympyFunction,x,1)
_dPrima = _dPrima.subs(x,5)
print(_dPrima.evalf())
而对于那些想知道,是的,我需要解析一个字符串来获取函数。
不应将e的定义包含在'from mpath import *'中? – Luke84
它确实被导入,但sympy应该怎么知道它呢? Sympy无法处理您导入的所有其他包,因为有太多甚至是不兼容的包。所以它只使用它自己并且是它自己的定义。小心使用'import *'。想象一下,你也可以从''numpy import *''。那么你最终会得到两个独立的(和技术点不同)'e'的定义。 – Hannebambel