Matlab 教材:代表矩陣元素的變數

若 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 以及它下邊的整行元素。

習題

  1. A=[2 5 4 5; 4 4 2 6; 0 5 5 2; 9 3 7 3], 將 A 的第二列變號。
  2. A=[2 5 4 5; 4 4 2 6; 0 5 5 2; 9 3 7 3], 將 A 的第三行變號。
  3. A=[2 5 4 5; 4 4 2 6; 0 5 5 2; 9 3 7 3], 將 A 的第二列之對角線以右的元素都換成 0
  4. A=[2 5 4 5; 4 4 2 6; 0 5 5 2; 9 3 7 3], 將 A 的第二行之對角線以下的元素都換成 0
單維彰 (2003/03/11) --- 04/03/19 (單) [Prev] [Next] [Up]