Matlab 教材:變數之指派與計算

前面已經解釋過,在 Matlab 中,等號 = 是「指派」的意思, 不是數學中「相等」的意思。雖然大部分的情況下,指派的作用就像數學中相等的意義, 不過本質上並不相同,因為這個概念至為關鍵,我們願意花三節講義, 來闡述並且讓初學的讀者有時間慢慢熟悉這個概念。

如果想要指派數值給一個變數,而不必看到 Matlab 回應 (echo) 變數的值, 可以在指令結束之後寫一個分號 ; 例如 譬如您說

foo = 1/5;
那麼 0.2 就被指派給 foo,但是 Matlab 並沒有回應。 看起來好像 Matlab 沒反應,但是其實他已經做好了。 不信的話,就下指令
foo
只寫一個變數名字 (別加分號),Matlab 就會回應那個變數的值。

其實,這是一個簡單的規則:變數如果出現在等號的左邊,就是要被指派的意思; 除此而外,只要在 Matlab 指令的任何地方寫出變數的名字, 就是要取出它的值。而取出來之後,那個數值就可以如同常數般做任何計算。 例如

foo * 5
或者
1 / foo
都會執行正確的計算。

變數可以放在函式裡面,當作函式的輸入值,例如

log(foo)
或者
sqrt(foo^2)
都是正確的語法。

既然變數可以拿來計算,那麼計算的結果當然可以指派給另一個變數,例如

foo = 1/5;
a = foo * log(foo);
b = exp(a);
b^5
應該得到 0.2。

習題

  1. 觀察以下指令,執行之後, z 的值應該是多少?
    x = sqrt(2);
    y = 2*x;
    z = y^2;
  2. 觀察以下指令,執行之後, z 的值應該是多少?
    x = 12;
    y = x/2;
    z = y/3;
  3. 觀察以下指令,執行之後, z 的值應該是多少?
    x = pi/2;
    y = sin(x);
    z = 4^y;
單維彰 (03/03/08) --- [Prev] [Next] [Up]