一、基本思路:通过换元实现系统解耦
对于状态方程 ,如果矩阵 A 是一个对角矩阵,那么方程组将是完全解耦的,即每个状态变量的微分方程只涉及其自身。然而,在一般情况下,A 不是对角矩阵,导致状态变量之间存在耦合。
换元法的思路是:寻找一个可逆的线性变换 ,将原系统转换为一个新的坐标系(由 y⃗ 表示),在这个新的坐标系下,系统是解耦的。这个变换矩阵 P 通常由矩阵 A 的特征向量构成。
前提条件:此方法要求矩阵 A 是可对角化的,即 A 拥有 n 个线性无关的特征向量(其中 n 是矩阵 A 的阶数)。
二、换元与对角化
2.1 定义变换
令 ,其中:
- x⃗(t) 是原始的状态向量。
- y⃗(t) 是新的状态向量。
- P 是一个 n × n 的常数可逆矩阵。我们将选择 P 为由矩阵 A 的 n 个线性无关的特征向量 v⃗1, v⃗2, …, v⃗n 按列组成的矩阵:
2.2 代入状态方程
对 两边对时间 t 求导:
将 和 代入原状态方程 :
由于 P 是可逆的,我们可以用 P−1 左乘上式两边:
其中 。根据线性代数的知识,如果 P是由 A 的特征向量构成的矩阵,则 D 是一个对角矩阵,其对角线上的元素是 A 对应的特征值 λ1, λ2, …, λn:
注意:D 中特征值的顺序必须与 P 中特征向量的列顺序相对应。
三、求解解耦后的系统
变换后的系统 实际上是一组相互独立的标量微分方程:
这些方程的解非常简单:
其中 yi(0) 是 yi(t) 在 t = 0 时的初始值。
将这些解写回向量形式:
我们可以定义对角矩阵指数 为:
于是,解耦系统的解为:
四、转换回原始坐标
我们已经得到了新坐标下 的解,现在需要将其转换回原始坐标 :
接下来处理初始条件。我们通常拥有原始系统在 t = 0 时的初始条件 。
由 ,当 t = 0 时:
由于 P 可逆,新坐标的初始条件为:
将 代回到 的表达式中:
这个公式就是状态方程 的解。
值得注意的是,矩阵 被称为状态转移矩阵或矩阵指数。
五、求解步骤总结
- 求解特征值与特征向量:对于给定的系数矩阵 A,计算其所有特征值 λ1, …, λn 和对应的线性无关的特征向量 v⃗1, …, v⃗n。如果找不到 n 个线性无关的特征向量,则 A 不可对角化,此直接方法不适用(需要使用广义特征向量等更复杂的方法)。
- 构建矩阵 P 和 D:
- 用特征向量按列构建矩阵 。
- 用对应的特征值构建对角矩阵 。
- 计算 P−1:求出矩阵 P 的逆矩阵 P−1。 构建 eDt:这是一个对角矩阵,其对角元素为 。
- 计算解 x⃗(t):
- 如果你有具体的初始条件 ,则直接计算 。
- 如果你想得到通解形式,可以先计算新坐标的初始值 (此时 可以看作是任意初始常数向量,或者 本身就是任意常数向量 )。然后 ,最后 。 这等价于
其中 。
六、示例(沿用上一个笔记的例子)
考虑状态方程 ,其中
初始条件
- 特征值与特征向量 (已知):
- 构建 P 和 D:
- 计算 P−1 (已知):
- 构建 eDt:
- 计算解 x⃗(t):
首先计算 :
所以 ,。
然后计算 :
最后计算 :
这与之前通过直接叠加特解得到的结果一致。
该方法系统地展示了如何通过对角化来解耦和求解线性状态方程组。