Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe mir einen Funktionsparser gebaut, der eine Funktion von Infix in Postfix konvertiert und dann das Ergebnis errechnet.

Nun will ich auch die Ableitung errechnen, aber ich finde keinen effizienten Weg.

Ich würde die Funktion als String erstmal in Einzelteile zerlegen und dann einzeln ableiten. Aber gibt es keine effizientere Möglichkeit ?

Geschrieben

Du willst hier symbolisch die Differentation durchführen. Ich gehe davon aus, dass Dir die Regeln bekannt sind. Im Grunde kann man das selbst implementieren, ich würde hier aber zu fertigen Bibliotheken greifen GiNaC is Not a CAS

denn diese sind entsprechend getestet. Man kann das zwar auch selbst implementieren, wobei ich dann hier ganz dringend von einer Stringverarbeitung abraten würde und das ganze über eine entsprechende Grammatik definiere, mit Lexer und Parser verarbeiten würde und dann aus dem entsprechenden Syntaxbaum die Ableitungen bilden würde

Geschrieben

Danke für die Antwort.

Ich hab schon geahnt das es keinen einfachen Weg gibt es selbst zu implementieren.

Da werd ich wohl auf eine Bibliothek zurückgreifen.

Danke.

Geschrieben

Naja das Bilden von Ableitung geschieht nach deterministischen Regeln, somit sollte das kein Problem sein. Deine Grammatik für arithmetische Ausdrücke zu schreiben ist auch nicht viel Aufwand. Parser & Lexer kann man mit entsprechenden Tools aus der Grammatik direkt erzeugen (dafür gibt es Toolunterstützung). Sofern man dann einen passenden Syntaxbaum hat, kann man eben diesen passend zu den Ableitungsregeln verarbeiten.

Im Gegensatz zur Integration ist das noch recht leicht

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...