跳转到内容

控制系统/矩阵运算

来自维基教科书,开放世界中的开放书籍
有关此主题的更多信息,请参阅
线性代数

工程分析

矩阵代数定律

[编辑 | 编辑源代码]

矩阵必须是兼容的大小才能使运算有效

加法
矩阵必须具有相同的维度(相同行数,相同列数)。矩阵加法是可交换的
乘法
矩阵必须具有相同的内部维度(第一个矩阵的列数必须等于第二个矩阵的行数)。例如,如果矩阵 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 编程

华夏公益教科书