Ich bin neu zu Sympy, und ich versuche, es zu verwenden, um einige Ausdrücke zu berechnen, aber manchmal mit der Funktion .subs() allein, oder gefolgt von .Evalf(), gibt keinen float oder ganzzahlige Werte.Sympy - kann Ausdruck nicht auswerten
##--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())
Und für diejenigen, die wissen wollen, ja muss ich eine Zeichenfolge analysieren, um die Funktion zu erhalten.
Sollte nicht die Definition von e, in der 'von mpath Import *' enthalten sein? – Luke84
Es wird importiert, aber wie sollte man es wissen? Sympy kann sich nicht um alle anderen importierten Pakete kümmern, da es zu viele und sogar inkompatible Pakete gibt. Es verwendet also nur sich selbst und seine eigenen Definitionen. Verwenden Sie 'import *' immer mit Vorsicht. Stellen Sie sich vor, Sie hätten auch 'from numpy import *'. Dann würden Sie mit zwei unabhängigen (und von einem technischen Standpunktunterschiedlichen) Definitionen von "e" enden. – Hannebambel