2013-04-05 79 views
6

我在這個問題中使用的等式包含指數。出於這個原因,在區分之後,除了附加的常量和其他因素之外,它們再次顯得幾乎沒有變化。我想知道是否有可能將這些指數收回到他們所在部分的表達式中。這裏有一個例子:區分後整理表情

鑑於此函數定義

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

分化後,人們會得到

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

那將是巨大的,如果我能以某種方式將其轉換爲

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

這是可能與MuPad或任何其他CAS包?

+0

如果你只是想承認這是寫只是原來一樣的f函數的功能是的,你可以比較字符串(真是愚蠢的方法)。但是,如果你想讓算法從執行操作的表達式中提取函數,它會變得非常棘手,因爲它是一個具有無限可能性的搜索問題......就像具有輸入函數的「f:x - > x - 1」一樣爲:(x^2 - 1)。可以用許多方式用f(x)表示輸入函數:f(x)*(x + 1),f(x)^ 2 + 2 * x - 2,或者甚至可以:(x^2 - 1)+ f(x) - (x - 1)等... – Guarita 2013-04-05 21:39:16

+0

我認爲這種方式可能會奏效。 @Guarita是對的,你可能具有相同的數學運算功能,但在轉換爲字符串時不會這樣做,這可能是一個問題,但我認爲您可以簡化mupad中的'simplify'命令中的任何函數,並且可以通過函數(像polinomial和其他東西)。可能只是commadn會返回相同的「類型」的公式,所以結果可能是字符串可比較的。不知道它會起作用,如果它可能不會工作100%的時間,但這將是一個相當不錯的方法 – 2013-04-11 10:52:57

+0

我明白你的意思,但就像在紙上一樣,人們有一種感覺,哪種表達更好取決於因素的數量等等。這就是爲什麼我認爲CAS程序也知道。 – 2013-05-16 20:32:02

回答

0

這很容易在MAPLE,使用一般的替換命令algsubs

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

對於更復雜的表達式,嘗試collect

+0

在MuPad中,該函數名爲'subsex'。我還沒有嘗試過,但我想這是你能做的最多的事情來清理表達。謝謝。 – 2013-05-16 20:26:59