Vereinfachen von Funktionsausdrücken
-
Hi,
ich habe ein kleines Programm zur Interpolation geschrieben.
Am Ende erhalte ich einen string mit folgendem Inhalt:
5+1*(x-4)-5*(x-4)*(x-7)...
Das ist ja soweit ganz schön. Allerdings würde ich diese Funktion gerne noch vereinfachen das ich so eine Form erhalte:
-5x^2 + 56x - 139
Bin schon ewig am grübel, finde aber keine gescheite Lösung.
Über nen bischen hilfe währe ich echt Dankbar
-
Hat wenig mit C++ zu tun.
Ausmultiplizieren oder Wolfram-Alpha fragen.
(-5x + 56)*x - 139 finde ich für einen Rechner noch einfacher.
-
Dann verwende eine Mathe-Parser, z.B. Fast C++ Math Expression Parser (Stichwort: Optimization of expressions)
-
Kannst du die Natur des Ausdrucks etwas eingrenzen, so kann man dir auch eine für deinen Fall optimale Lösung geben.