用 Maple 定義函數的另一個方法是透過 unapply( ) 函式。例如
f := unapply(x^2 + 1, x);這句話的效果和
f := x -> x^2 + 1;是一樣的。那為什麼還需要它呢?以下舉一個例子。
若定義一個函數
f := x -> x*sin(x);則
df := diff(f(x), x);就是將 f(x) 的導函數式子,亦即 sin(x) + x*cos(x) 指派給 df 這個名字。 但是 df 卻不是一個函數。 因為 Maple 的設計方式,使得您不能採用以下指令來獲得導函數:
df := x -> diff(f(x), x); WRONG這是因為,當您說 df(1) 的時候,Maple 將這個指令解釋為
diff(f(1), 1);這顯然是沒有意義的一句話。 因此,要獲得導函數的方法,應該是
df := unapply( diff(f(x),x), x);這就是 unapply( ) 的重要應用。有了導函數,您就可以求導數了:
df(Pi);就得到了 f(x) 在 x=Pi 處的導數。
習題