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!
Ableitung
@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.
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.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Huch... Déjà-vuBlackJack hat geschrieben:@Jaga: Stimmt, Du möchtest `sympy` verwenden.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- 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
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wie meinst Du das? BlackJack hat Dir doch die passenden Stichworte geliefert‽Jaga hat geschrieben:könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?
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
assert encoding_kapiert
Die wahrscheinlich passendste Möglichkeit, nämlich die Nutzung vom sympy hast du ja abgelehnt.Jaga hat geschrieben:könntet Ihr mir bitte einen Überblick über die Möglichkiten verschaffen?
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.