Mathematische Formel einlesen
-
Guten Tag,
ich habe eine kleine Frage zu einem Projekt.
Ich möchte verschiedene Verfahren zur numerischen Lösung gewöhnlicher Differentialgleichungen implementieren, wie z.B. das Euler-Verfahren.Die eigentliche Implementierung des Verfahrens stellt auch kein Problem dar. Die eigentliche Frage ist nur, ob es möglich ist zur Laufzeit die zu lösende Funktion einzulesen und diese nicht fest im Quellcode zu verankern?
Also in etwas sowas, dass der Benutzer diese irgendwie in der Form f(x)=y eingibt...Oder ist sowas nur in ein dynamischen Sprachen wie z.B. Phyton möglich?
-
hi
selber coden oder bibliothek benutzen.
-
Aus der Antwort schließe ich mal das es generell möglich ist. Nehme aber an ich brauche sowas wie eine Parser um die Eingabe zu interpretieren?
-
xyz !logged-in schrieb:
hi
selber coden...Einen Funktionsparser selbst programmieren, das wird mit Sicherheit ein mehrtägiges Projekt, für einen der fit in C ist.
-
man kann die infix notation sehr einfach in postfix notation umwandeln (stack-maschine),
dann musst du nur noch den teil vor dem Gleich-Zeichen auseinander frickeln, das ist auch nicht so schwer, vorallendingen wenn es immer nur einen Parameter gibt.Ansonnsten: Parser zB recursive descent oder Parser generator
In Python könntest du eval benutzen, aber vorsicht Benutzereingaben sind böse und es wird schnell sehr unschön.