控制系統/矩陣運算
矩陣必須是相容的大小才能使運算有效
- 加法
- 矩陣必須具有相同的維度(相同行數,相同列數)。矩陣加法是可交換的
- 乘法
- 矩陣必須具有相同的內部維度(第一個矩陣的列數必須等於第二個矩陣的行數)。例如,如果矩陣 A 為 n × m,矩陣 B 為 m × k,那麼我們可以乘以
- 其中 C 為 n × k 矩陣。矩陣乘法不可交換
- 由於不可交換,必須區分“左乘”和“右乘”。
- 除法
- 在矩陣代數中沒有除法,儘管乘以矩陣的逆矩陣執行相同的基本功能。要找到逆矩陣,矩陣必須是非奇異的,並且必須具有非零行列式。
矩陣的轉置,用
表示,是將 X 的行和列互換得到的矩陣。在某些情況下,矩陣的轉置用
表示。當在單個等式中對大量矩陣使用上標 T 時,這種簡寫表示法會使用,否則表示法會變得過於擁擠。當本書中使用這種表示法時,導數將用
矩陣的行列式是一個標量值。它類似於標量的絕對值
如果矩陣是方陣,並且矩陣的行列式不為零,則矩陣具有逆矩陣。
矩陣 A 的逆矩陣,我們在這裡用“B”表示,是任何滿足以下等式的矩陣
具有這種伴隨矩陣的矩陣被稱為“可逆矩陣”或“非奇異矩陣”。沒有滿足此等式的逆矩陣的矩陣稱為“奇異矩陣”或“不可逆矩陣”。
逆矩陣可以用多種不同的方法計算
- 將矩陣 A 與相同大小的單位矩陣拼接。使用行變換使矩陣的左側成為單位矩陣。拼接矩陣的右側將是逆矩陣
- 逆矩陣由伴隨矩陣除以行列式給出。伴隨矩陣是伴隨矩陣的轉置。
- 逆矩陣可以從凱萊-哈密爾頓定理計算。
矩陣的特徵值,用希臘字母 lambda λ 表示,是矩陣特徵方程的解
特徵值僅存在於方陣中。非方陣沒有特徵值。如果矩陣 X 是實矩陣,特徵值將全部為實數,或者將存在複共軛對。
矩陣的特徵向量是特徵方程的零空間解
對於每個不同的特徵值,至少存在一個不同的特徵向量。特徵向量的倍數也是特徵向量。然而,線性無關的特徵值被稱為“非不同”特徵向量,可以忽略。
左特徵向量是特徵方程的右手零空間解
這些也是逆轉換矩陣的行。
在重複特徵值的情況下,可能不存在與這些特徵值相關的完整的一組 *n* 個不同特徵向量(右或左特徵向量)。廣義特徵向量可以按如下方式生成
由於廣義特徵向量是相對於另一個特徵向量或廣義特徵向量形成的,因此它們構成一個有序集,並且不應該在該順序之外使用。
變換矩陣是所有特徵向量或廣義特徵向量有序集的矩陣
逆轉換矩陣是左特徵向量的矩陣
透過乘以轉換矩陣,可以對矩陣進行對角化
或
如果矩陣有一組不完整的特徵向量,因此有一組廣義特徵向量,則該矩陣無法對角化,但可以轉換為約旦標準型
MATLAB 程式設計環境專門為矩陣代數和操作而設計。以下是關於如何在 MATLAB 中操作矩陣的簡要複習
- 加法
- 要將兩個矩陣加在一起,請使用加號(“+”)
C = A + B;
- 乘法
- 要將兩個矩陣相乘,請使用星號(“*”)
C = A * B;
- 如果您的矩陣尺寸不正確,MATLAB 將發出錯誤。
- 轉置
- 要查詢矩陣的轉置,請使用單引號(“’”)
C = A';
- 行列式
- 要查詢行列式,請使用det函式
d = det(A);
- 逆矩陣
- 要查詢矩陣的逆矩陣,請使用函式inv
C = inv(A);
- 特徵值和特徵向量
- 要查詢矩陣的特徵值和特徵向量,請使用eig命令
[E, V] = eig(A);
- 其中 E 是一個方陣,其對角線條目是 A 的特徵值,而 V 是由相應的特徵向量組成的矩陣。如果特徵值不不同,則特徵向量將重複。MATLAB 不會計算廣義特徵向量。
- 左特徵向量
- 要查詢左特徵向量,假設存在一組完整的不同右特徵向量,我們可以取特徵向量矩陣的逆矩陣
[E, V] = eig(A); C = inv(V);
C 的行將是矩陣 A 的左特徵向量。
有關 MATLAB 的更多資訊,請參閱華夏公益教科書MATLAB 程式設計。