用Mathematica求隱函數的導數

用Mathematica求隱函數的導數

在高等數學中我們經常遇到求導問題。Mathematical這款數學軟體提供了非常簡單的函數求導的方法。

例如:

求函數 f(x) = ax^2+bx+c 關於 x 的導數

如果用Mathematical,如下代碼即可搞定:

f[x_]:=a x^2 + b x + c;D[f[x],x]

輸出結果為:

b + 2 a x

而我們常常會遇到這樣的情形:自變數和因變數的關係由一個方程確定,函數關係隱含在這個方程之中。例如圓的方程 x^2 + y^2 = 1 就確定了 x,y 之間的某種函數關係,這種函數叫做隱函數。下面我們通過一個例題[1]來說明如何用Mathematica來確定隱函數的導數。

例:求方程 xy-e^x+e^y=0 所確定的隱函數 y=f(x) 的導數。

如不用Mathematical其解法如下:

首先對方程兩邊對 x 求導,得:

(xy)-(e^x)+(e^y)=0

注意 yx 的函數,於是有:

y+xy-e^x+e^ycdot y=0

y 得:

y = frac{e^x-y}{e^y+x}

下面我們講如何用Mathematica求解。

其實,用Mathematica求解的基本方法跟上述的傳統方法相似。

首先,對整個方程求關於 x 的導數:

D[x y - Exp[x] + Exp[y] == 0, x, NonConstants -> y]

NonConstants->y表示y並非常量,在求導時不可將其變為0.這一點我們也可以從上一行的代碼的輸出來說明。其輸出為:

-E^x + y + E^y D[y, x, NonConstants -> {y}] + x D[y, x, NonConstants -> {y}] == 0

然後我們將上式中的 D[y, x, NonConstants -> {y}]用y代替,就是對兩邊求導的結果了。

% /. D[y, x, NonConstants -> {y}] -> y

上式中的%代表了兩邊求導的結果。

下一步自然就是求解y了:

Solve[%,y]

至此,可求得答案:

{{y -> (E^x - y)/(E^y + x)}}

可將上述步驟綜合為如下一行代碼:

Solve[D[x * y - Exp[x] + Exp[y] == 0, x, NonConstants -> y] /. D[y, x, NonConstants -> {y}] -> y, y]

不知道小夥伴們看懂了么?如果有什麼問題歡迎在下方留言哦。

參考文獻:

[1]張傳義, 包革軍, 張彪. 工科數學分析[M]. 科學出版社, 2001. 上冊,P85


推薦閱讀:

微積分思想釋疑小時候的困惑--圓柱圓錐體積比為啥是3..... 能不能別耍流氓啊,人家只是個孩子......
關於討論三角函數Sin(x)極限是否存在
數學分析筆記整理(一)
Motive——Grothendieck的夢想
自媒體矩陣如何運營?

TAG:高等數學 | WolframMathematica |