Ableitung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jaga
User
Beiträge: 64
Registriert: Mittwoch 21. August 2013, 13:18

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!
FASTER! HARDER! LOUDER!
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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:@Jaga: Stimmt, Du möchtest `sympy` verwenden. ;-)
Huch... Déjà-vu :wink:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Jaga
User
Beiträge: 64
Registriert: Mittwoch 21. August 2013, 13:18

wie aufwändig wäre der Spaß denn ohne Scipy und ohne Sympy? :D
FASTER! HARDER! LOUDER!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

s. BlackJacks Posting - wenn Du den ersten Satz des zweiten Absatz komplett verstehst, wird es schwer, wenn nicht, verdammt hart :twisted:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Jaga
User
Beiträge: 64
Registriert: Mittwoch 21. August 2013, 13:18

könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?
FASTER! HARDER! LOUDER!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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.
Antworten