Autor Beitrag
SoulJ03R
Hält's aus hier
Beiträge: 9


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 09.01.07 18:24 
Hallo,
ich würde gerne Programme schreiben, mit denen man zum Beispiel numerische Integration oder numerische Lösung von Gleichungen durchführen kann.
Hierfür wäre es nötig, dass man in ein Editfeld die vorgegebene Funktion eingibt. Nun ist mein Problem, dass ich mit dem "x" aus der Funktion weiterrechnen möchte. Zahlenwerte sollen automatisch für das "x" eingesetzt werden und die Funktion soll berechnet werden. Kann mir da jemand weiterhelfen??


Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 09.01.2007 um 17:28
Jetstream
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 222



BeitragVerfasst: Di 09.01.07 18:35 
Du brauchst einen "Parser". Such einfach mal hier im Forum.

_________________
Die folgenden Klangbeispiele sind Ergänzungen zum methodischen Aufbau der Textbeilage und dürfen nicht losgelöst von dieser behandelt werden.
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 09.01.07 22:00 
Um einen Funtionsparser zu erstellen ist es hilreich den Eingangsstring(aus dem Editfeld) in Terme zu zerlegegen und jeden Term separt zu bearbeiten.
aus

ausblenden Quelltext
1:
3x*4-x^9/sin(x)					


wird

ausblenden Quelltext
1:
2:
3:
4:
5:
Term[0] +3x
Term[1] *4
Term[2] -x^9
Term[3] /1
Term[4] sin(x)


So kann dann in jedem Term gespeichert werden:

  • Rechenoperation
  • Faktor
  • Potenz
  • innere Funktion


Die Terme bilden die äußere Funktion und sind in einer Liste/Array gespeichert
Der Rechenoperation können Wertigkeiten zugewiesen werden -> Punkt vor Strich, Winkel vor Punkt
Durch die Eigenschaft innere Funktion kannst Du geklammerte Ausdrücke bearbeiten.
Dies ist ein Vorschlag.
SoulJ03R Threadstarter
Hält's aus hier
Beiträge: 9


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 09.01.07 23:19 
Danke schonmal für die Antworten. Ich werd mich mal ransetzten und n bisschen herumprobieren.