Matlab 教材:Matlab 接受變數

Matlab 比工程型計算器更好,除了因為他會計算複數之外, 還因為他接受變數 (variable)。

簡化來說,Matlab 的變數有兩個屬性:

  1. 它的名字
  2. 它的值
想像變數是一口箱子,在箱子上貼了標籤,表明它的名字, 箱子裡面就放著它的值。 箱子本來不存在,只要您在 Matlab 操作視窗內「呼喚」它的名字, 就像阿拉丁神燈裡面的精靈一樣,呼啦,它忽然就出現了。

譬如您說

foo
Matlab 可能回應 Undefined function or variable 'foo', 這就是說 Matlab 沒有一個名叫 foo 的函式,也沒有一口名叫 foo 的箱子。

但是,只要說

foo = 5
Matlab 就自動製造了一口名叫 foo 的箱子,並且在箱子裡放了 5。 之後,您可以再說
foo
Matlab 就會告訴您,foo 的值是 5。

把一個數值放進箱子的學名叫做 指派 (assign), Matlab 用 = 作為指派符號。用法是

變數名字 = 數值
如果變數名字原來不存在,Matlab 就臨時開一口新箱子給您; 如果它原來就存在,Matlab 放進新的數值、舊的便不見了, 就好像新的數值「覆蓋」了舊的數值。 因為箱子裡面的數值很容易改變,所以我們稱它為「變數」。

指派的數值可以是一個常數,例如

foo = 2.7183
或者任何計算的結果,例如
foo = 2.7183^(-2)
或者
foo = exp(i*pi)

變數的顯然用處就是節省打字。 如果某個數值要一用再用,可以利用變數把它存起來,將來再用。 譬如可以說

x = 1/7
然後用
7*x
來檢查 7x 是不是可以還原為 1? 啊哈,從這個例子我們看到,變數的值可以拿來計算,就好像之前我們使用常數做計算一樣! 那就趕快試試看
x + x + x + x + x + x + x
或者
1 - (x + x + x + x + x + x + x)
吧!

更好玩的實驗,有如先說

x = (-8)^(1/3)
然後再說
x^3
看看 Matlab 是不是真的計算了 -8 的三次方根?

或者是

t = pi/4, exp(i*t), cos(t) + sin(t)*i
這樣子 Matlab 會連續做三件事:
  1. 先把 pi/4 指派給 t
  2. 然後計算 exp(i*t)
  3. 然後計算 cos(t) + sin(t)*i
讀者可以用向上的箭頭將前一個指令取出來,再用左右箭頭、[Backspace]、[Delete] 等鍵修改指令,然後按 [Enter] 再執行。如此這般,您可以依序實驗 觀察這些計算的結果,有沒有發現什麼規則呢?

最後,請試試看

x = acos(2)
然後驗算
(exp(i*x) + exp(-i*x))/2
您還可以做好多實驗:

習題

  1. 實驗 觀察這些計算的結果,有沒有發現什麼規則呢?
  2. 實驗 觀察這些計算的結果,請猜測
    \begin{displaymath} \lim_{x\to 0}\frac{\sin\pi x}x = \hbox{?}
\end{displaymath}

    (寫出它的數值,到小數點下第四位,並且猜測真正的答案應該是多少。)
  3. 實驗 觀察這些計算的結果,請猜測
    \begin{displaymath} \lim_{x\to 0} \frac{e^x -1}x = \hbox{?}
\end{displaymath}

    (寫出它的數值,到小數點下第四位,並且猜測真正的答案應該是多少。)
單維彰 (03/03/06) --- [Prev] [Next] [Up]