跳轉到內容

控制系統/矩陣運算

來自華夏公益教科書
有關此主題的更多資訊,請參閱
線性代數

工程分析

矩陣代數定律

[編輯 | 編輯原始碼]

矩陣必須是相容的大小才能使運算有效

加法
矩陣必須具有相同的維度(相同行數,相同列數)。矩陣加法是可交換的
乘法
矩陣必須具有相同的內部維度(第一個矩陣的列數必須等於第二個矩陣的行數)。例如,如果矩陣 A 為 n × m,矩陣 B 為 m × k,那麼我們可以乘以
其中 C 為 n × k 矩陣。矩陣乘法不可交換
由於不可交換,必須區分“左乘”和“右乘”。
除法
在矩陣代數中沒有除法,儘管乘以矩陣的逆矩陣執行相同的基本功能。要找到逆矩陣,矩陣必須是非奇異的,並且必須具有非零行列式。

轉置矩陣

[編輯 | 編輯原始碼]

矩陣的轉置,用

表示,是將 X 的行和列互換得到的矩陣。在某些情況下,矩陣的轉置用

表示。當在單個等式中對大量矩陣使用上標 T 時,這種簡寫表示法會使用,否則表示法會變得過於擁擠。當本書中使用這種表示法時,導數將用

行列式

[編輯 | 編輯原始碼]

矩陣的行列式是一個標量值。它類似於標量的絕對值

如果矩陣是方陣,並且矩陣的行列式不為零,則矩陣具有逆矩陣。

逆矩陣

[編輯 | 編輯原始碼]

矩陣 A 的逆矩陣,我們在這裡用“B”表示,是任何滿足以下等式的矩陣

具有這種伴隨矩陣的矩陣被稱為“可逆矩陣”或“非奇異矩陣”。沒有滿足此等式的逆矩陣的矩陣稱為“奇異矩陣”或“不可逆矩陣”。

逆矩陣可以用多種不同的方法計算

  1. 將矩陣 A 與相同大小的單位矩陣拼接。使用行變換使矩陣的左側成為單位矩陣。拼接矩陣的右側將是逆矩陣
  2. 逆矩陣由伴隨矩陣除以行列式給出。伴隨矩陣是伴隨矩陣的轉置。
  3. 逆矩陣可以從凱萊-哈密爾頓定理計算。

特徵值

[編輯 | 編輯原始碼]

矩陣的特徵值,用希臘字母 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 程式設計

華夏公益教科書