若 A 是一個矩陣,則 A 是一個變數。 Matlab 的精彩之處,是變數可以儲存一個數值,也可以儲存一個矩陣。 而當變數儲存矩陣的時候,它自動 衍生 (derive) 出來元素變數、行變數和列變數。 例如
A(1,1)代表 A 的 (1,1) 位置元素,Matlab 會回應它的值。如果要改變它, 只要重新指派即可;例如
A(1,1) = 2 * A(1,1)就是把 a1 1 元素置換成原來元素的兩倍。
此外,
A(2,:)代表 A 的第二列,也同樣可以置換它,例如
A(2,:) = -A(2,:)就是把第二列每個元素都變號。同理可推
A(:,3)代表 A 的第三行,而
A(:,3) = A(2,:)'表示把 A 矩陣之第二列,做共軛複數轉置 (Hermitian) 之後, 置換成第三行 (假設 A 是方陣,所以列和行的維度相同)。
如果 x 代表一個向量或序列,則它的元素變數可以用比較簡單的形式:
x(3)就代表它的第三個元素 x3,而
x(3) = x(1) + x(2)就是把 x3 置換成前兩個元素之和。
Matlab 的足標:不論是向量、序列還是矩陣, 足標都是正整數 (1, 2, 3, ...),這或許是 Matlab 稍微缺乏彈性的地方, 使用者不能自訂足標的範圍。
如果 x 代表一個向量或序列,則
x(k:end)代表 xk, xk+1, ... 一直到 x 的最後一個元素。 當然,如果 k 已經超過最後元素的足標,那就會得不到結果。 同理,如果 A 代表一個矩陣,則
A(i, k:end)代表第 i 列,aik 以及它右邊的整列元素,而
A(k:end, j)代表第 j 行,akj 以及它下邊的整行元素。
習題