Maple 教材:未知數

在數學語言中所說的「變數」,到了 Maple 語言中應該稱為「未知數」。 而 Maple 語言中所謂的「變數」,其實是在電腦的記憶體中, 存放某個物件的一口箱子的名字。 前面我們看到了,那口箱子不只可以存放數值,還可以存放含有未知數的多項式。

如果您在 Maple 指令中提到任何一個「名字」, 而這個名字不是 Maple 保留的變數名、不是函式名、也不是您自己宣告的變數名, 則 Maple 就當這個名字是一個未知數。 您可以詢問一個名字的值,如果它的值就是它的名字,意思就是說, 它沒被定義為變數;那麼,它就是一個未知數。例如您說

x;
如果 Maple 回應 x 那就代表此時 x 是一個未知數。

如果您先前用 x 定義了一個多項式,並且指派給 p 這個變數:

p := x^2 + 1;
後來,您又指派了 x 的值,例如
x := 3;
那麼,此後 x 就不是未知數了。例如此後如果您說
p;
則 Maple 會回應 10;因為 32 + 1 = 10。 此後,如果您又指派
x := 4;
那麼 p 的值就又變成了 17。

歸納而言,p 的內容(也就是它的值)就是 x^2 + 1, 至於 x 的意義,在您取出 p 的值的時候,才當場決定。 如果 x 是未知數,則 p 的值就是 x2 + 1; 如果 x 是變數,則 p 的值就是取出 x 的值的計算結果。

讀者要特別小心,當 x 不是未知數的時候,誤將 x 放進許多種指令中, 會造成奇異的錯誤。初學者或許很容易在這個地方迷惑。 譬如您說

quo(x^3+2*x^2+x+1, x-4, x);
而如果此時 x 是一個變數,它的值是 3,則 Maple 獲得的指令是
quo(3^3+2*3^2+3+1, 3-4, 3);
這顯然是荒謬的一句指令。因此,Maple 回應的錯誤訊息也很不容易理解。

要將一個變數名字還原成未知數的指令是不指派:unassign( ),例如

unassign('x');
就將名字是 x 的那口箱子從記憶體中刪除了, 然後 x 這個名字,也就還原成未知數。 注意前面在 x 的兩側都是「單引號」(single quote)。

習題

  1. 試試看
    x := 3;
    quo(x^3+2*x^2+x+1, x-4, x);
    得到怎樣的錯誤訊息?
單維彰 (2001/10/17) --- [Prev] [Next] [Up]