Maxima 教材:多項式求值

令 P 是一個 x 的多項式,則 f(x)=P 是一個多項式函數。 求 f(a) 的值就等於是『將 a 代入 x 之後,求 P 的值』。 以上語句的操作是subst指令的功能,而 subst 是 substitute (替代) 的縮寫。 例如,以下指令是『將 0.98 代入 x 之後,求 x3+x2+x+1 的值』:

subst(0.98, x, x^3+x^2+x+1);
得到答案
      3.881592

事實上,不僅可以代入一個數,也可以代入另一組符號。 例如以下指令是『將 x-h 代入 x 之後,求 x3+x2+x+1 的值』,然後展開代入的結果(以標準式呈現)。 這就是做函數圖形的水平平移的操作手段。

subst(x-h, x, x^3+x^2+x+1); expand(%);
得到結果
                            3          2
                     (x - h)  + (x - h)  + x - h + 1

          3        2    2      2                  3    2
         x  - 3 h x  + x  + 3 h  x - 2 h x + x - h  + h  - h + 1

如果我們要算 (x3+x2+x+1)÷(x-1) 的商在 x=1 的值, 可以先用 divide 做除法,再將其商代入 x=1 求值。 要學習的技術是,以下指令

divide(x^3+x^2+x+1, x-1);
獲得兩項回應
                              2
(%o3)                       [x  + 2 x + 3, 4]
其中第一項 x2+2x+3 是商。 注意 Maxima 的每一列輸出都有編號,例如以上的輸出是 3 號, 記作 %o3,其中 o 是 output (輸出) 的意思。 讀者在操作時,可能不是 3 號,請視當場的實況更改號碼。

取得 3 號輸出之第一項的語法是 %o3[1], 不妨實驗看看:

%o3[1];
得到回應
                                2
                               x  + 2 x + 3
也就是 (x3+x2+x+1)÷(x-1) 的商。

然後,我們只要將 x=1 代入商即可,如下。

subst(1, x, %o3[1]);
得到簡單的答案 6,也就是 12 + 2‧1 + 3 = 6。

習題

  1. 試求多項式 x3/7-12x+19 在 x=-1/3 的值。
  2. 試求 (x3/7-12x+19)÷(x/2+1) 的商在 x=-1/3 的值。
單維彰 (2012/06/29) --- [Prev] [Next] [Up]