2013-04-05 21 views
6

Die Gleichungen, mit denen ich in diesem Problem arbeite, enthalten Exponentiale. Aus diesem Grund erscheinen sie nach der Differenzierung wieder so gut wie unverändert, abgesehen von zusätzlichen Konstanten und anderen Faktoren. Ich habe mich gefragt, ob es möglich sein könnte, diese Exponentiale wieder in den Namen des Ausdrucks zu bringen, von dem sie ein Teil waren. Hier ein Beispiel:Ausdruck aufräumen nach der Differenzierung

Angesichts dieser Funktionsdefinition

f:= x -> A*exp(B/x) 

Nach Differenzierung, würde man

A*exp(B/x)*(-B/x^2) 

bekommen und es wäre toll, wenn ich es irgendwie zu

umwandeln konnte
f(x)*(-B/x^2) 

Ist dies mit MuPad oder einem anderen CAS-Paket möglich?

+0

Wenn Sie nur die Funktionen erkennen wollen, die genau das gleiche wie das Original f Funktion geschrieben werden war, können Sie Strings vergleichen (wirklich dumme Methode). Aber wenn Sie möchten, dass der Algorithmus die Funktion von Ausdrücken extrahiert, die Operationen ausführen, wird es verdammt schwierig, weil es ein Suchproblem mit unendlichen Möglichkeiten ist ... Wie wenn: "f: x -> x - 1" mit einer Eingabefunktion von: (x^2 - 1). Es ist möglich, die Eingabefunktion in Form von f (x) auf viele Arten auszudrücken: f (x) * (x + 1), f (x)^2 + 2 * x - 2 oder sogar: (x^2 - 1) + f (x) - (x - 1), etc ... – Guarita

+0

Ich denke, die stramme Art kann funktionieren. @Guarita hat recht, vielleicht haben Sie Funktionen, die mathematisch gleich sind, aber nicht, wenn sie in Strings umgewandelt werden. Das kann ein Problem sein, aber ich denke, Sie können jede Funktion vereinfachen, indem Sie die Funktion in mupad verwenden Weg (wie polinomiale und andere Sachen). Wahrscheinlich einfach commadn würde den gleichen "Typ" der Gleichung zurückgeben, so dass das Ergebnis durch Strings vergleichbar sein kann. Nicht sicher, es würde funktionieren, und wenn es wahrscheinlich nicht 100% funktioniert, aber es wäre ein ziemlich guter Ansatz –

+0

Ich verstehe, was Sie meinen, aber genau wie auf dem Papier, hat man ein Gefühl für welchen Ausdruck ist besser je nachdem die Anzahl der Faktoren und so weiter. Deshalb dachte ich, dass die CAS-Programme das auch wissen würden. –

Antwort

0

Es ist einfach, in MAPLE, verwenden allgemeine Substitution Befehl algsubs

> f:= x -> A*exp(B/x) 
> g := diff(f(x), x) 
> algsubs(A*exp(B/x) = F, g) 

Für komplexere Ausdrücke, versuchen collect

+0

In MuPad heißt die Funktion "subsex". Ich habe es noch nicht ausprobiert, aber ich denke, es ist das Meiste, was du tun kannst, um den Ausdruck zu säubern. Vielen Dank. –