文章目录
本章重点讨论的是线性定常连续系统状态方程求解的方法。
线性定常齐次状态方程的解
对于线性定常系统:
{ x ˙ = A x + B u y = C x + D u , x ( t 0 ) = x ( 0 ) \left\{\begin{matrix} \dot x=Ax+Bu\\ y=Cx+Du \end{matrix}\right. ,x(t_0)=x(0) {
x˙=Ax+Buy=Cx+Du,x(t0)=x(0)
当外加输入函数 u=0 时,上述状态空间表达式为:
{ x ˙ = A x y = C x , x ( t 0 ) = x ( 0 ) \left\{\begin{matrix} \dot x=Ax\\ y=Cx \end{matrix}\right. ,x(t_0)=x(0) {
x˙=Axy=Cx,x(t0)=x(0)
此时的状态方程叫做线性定常齐次状态方程(LTI homogeneous state equation),因系统状态的运动是在没有外加输入控制下由系统的初始状态引起的,因此控制系统的运动也称为自由运动。初始状态不为 0 时的运动为强迫运动。
齐次状态方程可在时域内直接求解,也可以用拉普拉斯变换求解。
1. 用矩阵指数函数直接求解
先假设线性定常齐次状态方程的解为时间 t 的幂级数形式,即
x ( t ) = b 0 + b 1 t + b 2 t 2 + L + b k t k + ⋯ x(t) =b_0+b_1t+b_2t^2+L+b_kt^k +\cdots x(t)=b0+b1t+b2t2+L+bktk+⋯
注意上式中 b i ( i = 1 , 2 , ⋯   ) b_i(i=1,2,\cdots) bi(i=1,2,⋯) 为待定系数矩阵。当 t=0 时, x ( 0 ) = b 0 x(0)=b_0 x(0)=b0 。
将所设的解带入原方程中可得
b 1 + 2 b 2 t + 3 b 3 t + ⋯ + k b k t k − 1 + ⋯ = A ( b 0 + b 1 t + b 2 t 2 + L + b k t k + ⋯   ) b_1+2b_2t+3b_3t+\cdots+kb_kt^{k-1}+\cdots=A(b_0+b_1t+b_2t^2+L+b_kt^k +\cdots) b1+2b2t+3b3t+⋯+kbktk−1+⋯=A(b0+b1t+b2t2+L+bktk+⋯)
由于上式对所有的时间 t 都要成立,因此等式两边同幂项的系数应相等,即:
b 0 = x ( 0 ) b_0=x(0) b0=x(0)
b 1 = A b 0 b_1=Ab_0 b1=Ab0
b 2 = 1 2 A b 1 = 1 2 ! A 2 b 0 b_2=\frac 1 2 Ab_1=\frac 1 {2!} A^2b_0 b2=21Ab1=2!1A2b0
b 3 = 1 3 A b 2 = 1 3 ! A 3 b 0 b_3=\frac 1 3 Ab_2=\frac 1 {3!} A^3b_0 b3=31Ab2=3!1A3b0
⋯ \cdots ⋯
b k = 1 k A b k − 1 = 1 k ! A k 3 b 0 b_k=\frac 1 k Ab_{k-1}=\frac 1 {k!} A^k3b_0 bk=k1Abk−1=k!1Ak3b0
⋯ \cdots ⋯
因此齐次方程的解可以写成:
x ( t ) = ( I + A t + 1 2 ! A 2 t 2 + ⋯ + 1 k ! A k t k + ⋯   ) x ( 0 ) x(t)=(I+At+\frac 1 {2!}A^2t^2+\cdots+\frac 1 {k!}A^kt^k+\cdots)x(0) x(t)=(I+At+2!1A2t2+⋯+k!1Aktk+⋯)x(0)
对于方阵,由其组成的无穷矩阵级数的和类似于纯量指数,定义为矩阵指数函数(Matrix Exponential Function),记为
e A t = I + A t + 1 2 ! A 2 t 2 + ⋯ + 1 k ! A k t k + ⋯ = ∑ k = 0 ∞ 1 k ! A k t k e^{At}=I+At+\frac 1 {2!}A^2t^2+\cdots+\frac 1 {k!}A^kt^k+\cdots=\sum_{k=0}^{\infty} \frac 1 {k!}A^kt^k eAt=I+At+2!1A2t2+⋯+k!1Aktk+⋯=k=0∑∞k!1Aktk
所以,线性定常齐次状态方程式的解也可写成
x ( t ) = e A t x ( 0 ) x(t)=e^{At}x(0) x(t)=eAtx(0)
按矩阵指数函数法求解齐次状态方程,在已知初始状态 x(0)的基础上,需要求解矩阵指数函数 e A t e^{At} eAt ,这给人工计算带来不便。
但级数展开式中的每一项适合于用计算机计算。
2. 用拉氏变换求解
对于线性定常齐次状态方程式也可用拉普拉斯变换求解,它的求解方法与纯量一阶微分方程求解相似。对方程式两边取拉氏变换得:
拉普拉斯变换时域的 f ′ ( t ) f'(t) f′(t) 对应于 s 域的 s F ( s ) − f ( 0 ) sF(s)-f(0) sF(s)−f(0)
s X ( s ) − x ( 0 ) = A X ( s ) sX(s)-x(0)=AX(s) sX(s)−x(0)=AX(s)
整理得到
( s I − A ) X ( s ) = x ( 0 ) (sI-A)X(s)=x(0) (sI−A)X(s)=x(0)
故
X ( s ) = ( s I − A ) − 1 x ( 0 ) X(s)=(sI-A)^{-1}x(0) X(s)=(sI−A)−1x(0)
对两边取拉氏反变换得
x ( t ) = L − 1 [ ( s I − A ) − 1 ] x ( 0 ) x(t)=L^{-1}[(sI-A)^{-1}]x(0) x(t)=L−1[(sI−A)−1]x(0)
所以我们得到了两种微分方程的解,所以有微分方程解的唯一性可知:
e A t = L − 1 [ ( s I − A ) − 1 ] e^{At}=L^{-1}[(sI-A)^{-1}] eAt=L−1[(sI−A)−1]
采用拉氏变换法适合人工求解,且一般均能获得解析形式的结果。
矩阵指数函数
可以看到,要解状态方程,实际上只需要求出矩阵指数函数就可以了。下面讨论矩阵指数函数的性质
矩阵指数函数的性质
n×n 维方阵 A 的矩阵指数函数 e A t e^{At} eAt 是一个无穷级数,可以证明该级数对所有有限时间是绝对收敛的。具有以下性质:
- e A t e ˙ A τ = e A ( t + τ ) e^{At}\dot e^{A\tau}=e^{A(t+\tau)} eAte˙Aτ=eA(t+τ)
- e A 0 ˙ = I e^{A\dot 0}=I eA0˙=I
- e − A t = [ e A t ] − 1 e^{-At}=[e^{At}]^{-1} e−At=[eAt]−1
- 若 A 和 B 可交换,即 AB=BA ,则 e ( A + B ) t = e A t e ˙ B t e^{(A+B)t}=e^{At}\dot e^{Bt} e(A+B)t=eAte˙Bt
若 A 和 B 不可交换,即 A B ≠ B A AB\neq BA AB̸=BA ,则 e ( A + B ) t ≠ e A t e ˙ B t e^{(A+B)t}\neq e^{At}\dot e^{Bt} e(A+B)t̸=eAte˙Bt - 若矩阵 A n × n A_{n\times n} An×n 有不相等的特征值 λ 1 , λ 2 , ⋯   , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,⋯,λn, A ‾ \overline A A 为对角矩阵。则
A ‾ = d i a g [ λ 1 , λ 2 , ⋯   , λ n ] = [ λ 1 0 λ 2 ⋱ 0 λ n ] \overline A=diag[\lambda_1,\lambda_2,\cdots,\lambda_n]=\begin{bmatrix} \lambda_1 & & & 0\\ &\lambda_2 & & \\ & & \ddots & \\ 0 & & & \lambda_n \end{bmatrix}