2017-02-17 4 views
0

Ich versuche, Sympy einzurichten, um Derivate zu berechnen. Wenn ich es mit einer einfachen Gleichung teste, finde ich die gleiche Antwort (Gleichheit ist zwischen der Symp- tikberechnung und meiner eigenen Berechnung wahr). Allerdings, wenn ich es mit komplizierteren versuche, wenn es nicht funktioniert (ich überprüfte auch die Antworten mit Wolfram Alpha).Sympy Differentialgleichheit

Hier ist mein Code:

from __future__ import division 
from sympy import simplify, cos, sin, expand 
from sympy import * 
x, y, z, t = symbols('x y z t') 
k, m, n = symbols('k m n', integer=True) 
f, g, h = symbols('f g h', cls=Function) 

equation = (x**3*y-x*y**3)/(x**2+y**2) 
equation2 = (x**4*y+4*x**2*y**3-y**5)/((x**2+y**2)**2) 


pprint(equation) 
print "" 
pprint(equation2) 


print diff(equation,x) == equation2 

Antwort

1

Dies ist ein gemeinsames "Gotcha" in Sympy. Zum Erstellen symbolischer Gleichheiten sollten Sie sympy.Eq und nicht= oder == verwenden (siehe tutorial). Für Ihr Beispiel

Eq(equation.diff(x), equation2).simplify() 

True

Hinweis, wie oben, dass Sie sich simplify() um nennen, um zu sehen wheather die Eq Objekt True oder False entspricht