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)


  • Mod

    Kannst du die Natur des Ausdrucks etwas eingrenzen, so kann man dir auch eine für deinen Fall optimale Lösung geben.


Log in to reply