Seite 1 von 1

Ableitung

Verfasst: Dienstag 10. September 2013, 11:32
von Jaga
Mein Plan ist eine Ableitungsfunktion selbst zu schreiben. Hierbei gibt es aber noch viel zu tun denn ich habe eigentlich nur eine Idee und dafür bräuchte ich euren Rat.
Mal angenommen man hat das sehr einfache Polynom 4*x^3
Hiervon wäre die Ableitung ja 3*4*x^2 also 12*x^2
Kurzum kann man die allgemeine Ableitungsformel: f(x) : k*x^n
f ' (x) : n*k*x^(n-1)
irgendiwe in python code verpacken?
Und nein ich will nicht scipy verwenden!

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 11:52
von BlackJack
@Jaga: Stimmt, Du möchtest `sympy` verwenden. ;-)

Ansonsten kannst Du Dich schon mal mit Parsern und abstrakten Syntaxbäumen auseinandersetzen. Das was Du vorhast ist grundsätzlich nicht ganz so einfach. Es sei denn Du schränkst das ein, zum Beispiel auf einfache Polynome ohne irgendwelche ”exotischen” Werte und Funktionen.

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 12:11
von Hyperion
BlackJack hat geschrieben:@Jaga: Stimmt, Du möchtest `sympy` verwenden. ;-)
Huch... Déjà-vu :wink:

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 12:22
von Jaga
wie aufwändig wäre der Spaß denn ohne Scipy und ohne Sympy? :D

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 13:13
von Hyperion
s. BlackJacks Posting - wenn Du den ersten Satz des zweiten Absatz komplett verstehst, wird es schwer, wenn nicht, verdammt hart :twisted:

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 14:33
von Jaga
könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 15:07
von Hyperion
Jaga hat geschrieben:könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?
Wie meinst Du das? BlackJack hat Dir doch die passenden Stichworte geliefert‽

Du musst den Ausdruck parsen und anschließend auf dem abstrakten Syntaxbaum (AST) die Transformationen für eine Ableitung durchführen und dann den neu entstandenen AST wieder in eine mathematische Form serialisieren.

Für einfache Polynome kannst Du das auch simpler lösen, allerdings kann man dann keine Formel eingeben, sondern nur die Koeffizienten der Terme (also Eingabe für x^2:, Eingabe für x^1, Eingabe für x^0:). Damit sparst Du Dir das Parsen der Formel und hast bereits intern alles, was Du für die Berechnung benötigst, womit Du anschließend die Ausgabe leicht erzeugen kannst.

Re: Ableitung

Verfasst: Dienstag 10. September 2013, 15:16
von /me
Jaga hat geschrieben:könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?
Die wahrscheinlich passendste Möglichkeit, nämlich die Nutzung vom sympy hast du ja abgelehnt.

Da du das ganze selber noch einmal schreiben möchtest solltest du auch selber wissen wie du damit umzugehen hast. Wie komplex sollen die Funktionen denn werden dürfen? Wenn es nicht ganz simpel bleibt dann wirst du, wie bereits mehrfach erwähnt, ohne einen AST nicht auskommen. Wenn du nicht weißt was das ist, dann hast du jetzt die Gelegenheit dich erst einmal damit auseinanderzusetzen.