Hallo,
ich schreibe zur Zeit an einem Mathematikprogramm, mit dem man mathematische Funktionen darstellen und untersuchen kann.
Algorithmen, die eine Funktionsgleichung in einen Zahlenwert umwandeln oder Ableitungen erzeugen, habe ich selbst geschrieben. Jetzt stehe ich jedoch noch immer vor einem Problem. Das Programm ist fast fertig, hat jedoch noch eine Schwachstelle: Wenn man gebrochenrationale Funktionen eingibt, kann es vorkommen, dass die 2. und 3. Ableitung SEHR lang wird. Das hat zur Folge, das die Berechnung von z. B. Extrempunkten auch extreme Rechenzeiten benötigt.
Erst mal noch was zu meinem Ableitungsalgorithmus:
Da er nach allgemeinen Ableitungsregeln arbeitet, sehen Ableitungen in der 'Rohform' etwa so aus:
f(x)=2*x^3 ---> f'(x)=(2*3)*x^(3-1)
Um diese Unschönheiten zu beseitigen, habe ich einen Algorithmus entwickelt, der die Gleichung wieder in eine lesbare Form umwandelt, also:
f(x)=2*x^3 ---> f'(x)=6*x^2
Allerdings kann dieser Algorithmus Terme, wie etwa
3*x+4*x
nicht zu 7*x vereinfachen. Darum kommen bei den Ableitungen gebrochenrationaler Funktionen Ungetüme wie z. B.
((x+3*x)*x^2-4*x+3*x)/(x+x^2-3*x^2)^4 heraus.
Also, lange Rede, kurzer Sinn: Ich suche also einen Algorithmus, der auch solche Ausdrücke noch vereinfachen kann. Ich wäre schon über einen Tip

froh, da ich mir das natürlich am liebsten selbst ausdenken würde. Bis jetzt habe ich dazu im Internet noch nichts gefunden, man findet nur viel über einfache Parser, aber so was hab ich ja schon. Nun ja, ich hoffe, jemand hatte die Geduld, sich das hier durchzulesen

und kann mir helfen.
cu
Früher hatten die Menschen Angst vor der Zukunft. Heute muss die Zukunft Angst vor den Menschen haben.