所謂微分,就是求導數或導函數之技術的統稱。 Maxima 可以算出一個函數的導函數(一階或高階的), 只要在導函數中代入數值,就知道導數了。 以
2 2400 f(x) = x - 3 x + ---- + 12 x為例,以下指令獲得它的(一階)導函數:
diff(x^2-3*x+2400/x+12, x);結果是
2400 (%o7) 2 x - ---- - 3 2 x注意上式中的分母是 x2。 將此式代入 x=-6,就是 f'(-6) 的值,也就是 f(x) 在 -6 的導數。 利用指定輸出編號的手法,指令可以這樣寫:
subst(-6, x, %o7);注意,輸出編號 7 只是一個例子,實際狀況要看當時的 Maxima 輸出而決定。 得到的回應是
245 (%o8) - --- 3如果不喜歡看到分數,想要得到小數,可以說
float(%o8);而得到 -81.66....。
我們可以將導函數再微分得到二階導函數,但是也可以直接在 diff 指令中獲得二階或任意高階的導函數。例如
diff(x^2-3*x+2400/x+12, x, 2);得到 f''(x) 就是
4800 ---- + 2 3 x
diff 指令中的第一個參數(逗點前面的符號)表示被微分的式子, 第二個參數(逗點後面的符號)表示做微分的變數。 所以,如果被微分的變數是 t 而不是 x,則第二個參數應該寫 t 而不是 x。以
2 s(t) = - t為例,s'(t) 和 s''(t) 應分別使用下列指令:
diff(2/t, t);
diff(2/t, t, 2);
習題