Seite 1 von 1

Algebraische Ausdrücke vereinfachen

Verfasst: 29.08.2011, 21:11
von Stephan Theisgen
Hi!

Kennt hier jemand ein paar gute Texte die das symbolische Vereinfachen von Algebraischen Ausdrücken behandeln? Oder Beispiele, wie man das leicht in C++ implementiert?

Ich würde gerne ausdrücke, welche +,-,x,(),cos,sin beinhalten sowie beliebig viele Variablen als Baumstrukturen behandeln und dann auch einfach durch Baumoperationen vereinfachen, zb. (a+b)-(a-b) zu b+b bzw 2b...

Viele Grüße und vielen Dank
Stephan

Re: Algebraische Ausdrücke vereinfachen

Verfasst: 18.09.2011, 22:17
von Jonathan
Naja, eigentlihc sind das 2 Teilprobleme. Die Baumstruktur aufbauen und anschließend vereinfachen.
Um den Baum aufzubauen brauchst du Lexer und Parser. Dafür gibt es eigentlich schon ganz gute Programme und Bibliotheken, das selber zu bauen kann kniffelig werden, sollte für mathematische Ausdrücke aber noch ganz gut gehen.

http://de.wikipedia.org/wiki/Lexikalischer_Scanner
http://de.wikipedia.org/wiki/Parser

Für das zweite, naja, der intuitive Ansatz ist es, mathematische Regeln zu definieren (Distributivgesetz usw) zu prüfen ob man die Anwenden kann und ob das Sinn macht. Aber dafür gibt es sicherlich auch schon Papers zu.