对于线性定常系统:
{ 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 时的运动为强迫运动。
齐次状态方程可在时域内直接求解,也可以用拉普拉斯变换求解。
先假设线性定常齐次状态方程的解为时间 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 ,这给人工计算带来不便。
但级数展开式中的每一项适合于用计算机计算。
对于线性定常齐次状态方程式也可用拉普拉斯变换求解,它的求解方法与纯量一阶微分方程求解相似。对方程式两边取拉氏变换得:
拉普拉斯变换时域的 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 是一个无穷级数,可以证明该级数对所有有限时间是绝对收敛的。具有以下性质:
例题:已知 x ˙ = [ 0 1 − 2 − 3 ] x \dot x=\begin{bmatrix} 0&1\\ -2&-3 \end{bmatrix}x x˙=[0−21−3]x, x ( t ) ∣ t = 0 = x ( 0 ) x(t)|_{t=0}=x(0) x(t)∣t=0=x(0),求解方程
解:要求解该齐次状态方程的解,关键是矩阵指数函数 e A t e^{At} eAt 的求解。根据前面所述,可采用以下四种方法。
方法 1 :定义法:
e A t = I + A t + 1 2 ! A 2 t 2 + ⋯ + 1 k ! A k t k + ⋯ = [ 1 0 0 1 ] + [ 0 t − 2 t − 3 t ] + 1 2 ! [ − 2 t 2 − 3 t 2 6 t 2 7 t 2 ] + ⋯ e^{At}=I+At+\frac 1 {2!}A^2t^2+\cdots+\frac 1 {k!}A^kt^k+\cdots\\=\begin{bmatrix} 1&0\\0&1\end{bmatrix}+\begin{bmatrix} 0&t\\-2t&-3t\end{bmatrix}+\frac 1 {2!}\begin{bmatrix} -2t^2&-3t^2\\6t^2&7t^2\end{bmatrix}+\cdots eAt=I+At+2!1A2t2+⋯+k!1Aktk+⋯=[1001]+[0−2tt−3t]+2!1[−2t26t2−3t27t2]+⋯
方法 2 :由拉普拉斯变换法求:
方法 3 :由线性变换求
根据性质 5 和性质 6
因为可以看到 A 的特征值全部都是不相同的, M 矩阵就是范德蒙矩阵。
方法 4 :由矩阵指数函数的性质 10 来求
由以上四种方法求出矩阵指数函数后,由线性定常系统齐次状态方程解的表达式 x ( t ) = e A t x ( 0 ) x(t)=e^{At}x(0) x(t)=eAtx(0) 得:
由线性定常系统齐次状态方程的解可知,若以 t = 0 作为初始时间,系统在任意 t ≥ 0 时刻的状态向量是由初始时刻状态按规律进行转移的。因此矩阵指数函数亦称状态转移矩阵,记为
ϕ ( t ) = e A t \phi(t)=e^{At} ϕ(t)=eAt
此时 x ( t ) = e A t x ( 0 ) x(t)=e^{At}x(0) x(t)=eAtx(0)
更一般地,若以 t = t 0 t=t_0 t=t0 作为初始时间,系统状态的初始值为 x ( t 0 ) x(t_0) x(t0) ,则系统在任意时刻 t ≥ t 0 t\geq t_0 t≥t0 的状态亦可由初始状态转移而来,即:
x ( t ) = e A ( t − t 0 ) x ( t 0 ) x(t)=e^{A(t-t_0)}x(t_0) x(t)=eA(t−t0)x(t0)
因为 x ( t ) = e A t x ( 0 ) x(t)=e^{At}x(0) x(t)=eAtx(0) , x ( t 0 ) = e A t 0 x ( 0 ) x(t_0)=e^{At_0}x(0) x(t0)=eAt0x(0),所以可以推导得到上式。
此时系统的状态转移矩阵记为 ϕ ( t , t 0 ) = e A ( t − t 0 ) \phi(t,t_0)=e^{A(t-t_0)} ϕ(t,t0)=eA(t−t0)
{ x ( t ) = ϕ ( t ) x ( 0 ) x ( t ) = ϕ ( t − t 0 ) x ( t 0 ) \begin{cases} x(t)=\phi(t)x(0)\\ x(t)=\phi(t-t_0)x(t_0) \end{cases} {x(t)=ϕ(t)x(0)x(t)=ϕ(t−t0)x(t0)
从时间角度看,状态转移矩阵使状态向量随着时间的推移在不断地作坐标变换,也就是不断在状态空间中作转移,故称为状态转移矩阵。其物理意义如下图所示:
解:根据性质 2 : ϕ ˙ ( t , 0 ) = A ϕ ( t − 0 ) \dot \phi(t,0)=A\phi(t-0) ϕ˙(t,0)=Aϕ(t−0) 当 t=0 即 ϕ ˙ ( t ) ∣ t = 0 = A ϕ ( t ) ∣ t = 0 = A ∗ I = A \dot \phi(t)|_{t=0}=A\phi(t)|_{t=0}=A*I=A ϕ˙(t)∣t=0=Aϕ(t)∣t=0=A∗I=A
所以 A = ϕ ˙ ( t ) ∣ t = 0 = [ − 2 e − t + 2 e − 2 t 2 ( − 2 e − 2 t + e − t ) − e − t + 2 e − 2 t − 4 e − 2 t + e − t ] ∣ t = 0 = [ 0 − 2 1 − 3 ] A=\dot \phi(t)|_{t=0}=\begin{bmatrix} { - 2{e^{ - t}} + 2{e^{ - 2t}}}&{2( - 2{e^{ - 2t}} + {e^{ - t}})}\\ { - {e^{ - t}} + 2{e^{ - 2t}}}&{ - 4{e^{ - 2t}} + {e^{ - t}}} \end{bmatrix}|_{t=0}=\begin{bmatrix} 0&-2\\ 1&-3 \end{bmatrix} A=ϕ˙(t)∣t=0=[−2e−t+2e−2t−e−t+2e−2t2(−2e−2t+e−t)−4e−2t+e−t]∣t=0=[01−2−3]
解: x ( t ) = ϕ ( t − t 0 ) x ( t 0 ) x(t)=\phi(t-t_0)x(t_0) x(t)=ϕ(t−t0)x(t0) ,所以需要求 ϕ ( t ) = e A t \phi(t)=e^{At} ϕ(t)=eAt
则现在有四个未知数四个方程只要是线型无关的,那就一定能求出来。
ϕ ( t ) \phi(t) ϕ(t) 在 t=0 时都为单位阵。
解:之前用定义法和拉式反变换法求过这类问题,还可以用其他办法。
方法 1 :
使用性质 10 ,首先计算 A 的特征值
发现有重特征值,则重特征值和非重特征值的处理方法不同。
方法 2 :
根据性质 8 :
若矩阵 A n × n A_{n\times n} An×n 有重特征值 λ 1 , λ 2 , ⋯   , λ m \lambda_1,\lambda_2,\cdots,\lambda_m λ1,λ2,⋯,λm,且 J = T − 1 A T = [ J 1 J 2 ⋱ J m ] m i × m i J=T^{-1}AT=\begin{bmatrix} {{J_1}}&{}&{}&{}\\ {}&{{J_2}}&{}&{}\\ {}&{}& \ddots &{}\\ {}&{}&{}&{{J_m}} \end{bmatrix}_{m_i\times m_i} J=T−1AT=⎣⎢⎢⎡J1J2⋱Jm⎦⎥⎥⎤mi×mi
则 e J t = T − 1 e A t T = [ e J 1 t 0 e J 2 t ⋱ 0 e J m t ] m i × m i e^{Jt}=T^{-1}e^{At}T=\begin{bmatrix} {{e^{{J_1}t}}}&{}&{}&0\\ {}&{{e^{J_2t}}}&{}&{}\\ {}&{}& \ddots &{}\\ 0&{}&{}&{{e^{{J_m}t}}} \end{bmatrix}_{m_i\times m_i} eJt=T−1eAtT=⎣⎢⎢⎡eJ1t0eJ2t⋱0eJmt⎦⎥⎥⎤mi×mi
先求出特征值为 λ 1 = 2 , λ 2 = λ 3 = − 1 \lambda_1=2,\lambda_2=\lambda_3=-1 λ1=2,λ2=λ3=−1 ,约当矩阵为:
J = [ 2 0 0 0 − 1 1 0 0 − 1 ] J=\begin{bmatrix} 2&0&0\\ 0&{ - 1}&1\\ 0&0&{ - 1} \end{bmatrix} J=⎣⎡2000−1001−1⎦⎤
由于性质 7 :
若矩阵 J i J_i Ji 为 m i × m i m_i\times m_i mi×mi 阶约当矩阵,即 J i = [ λ i 1 0 λ i ⋱ ⋱ 1 0 λ i ] m i × m i J_i=\begin{bmatrix} \lambda_i & 1 & & 0\\ &\lambda_i & \ddots & \\ & & \ddots & 1\\ 0 & & & \lambda_i \end{bmatrix}_{m_i\times m_i} Ji=⎣⎢⎢⎡λi01λi⋱⋱01λi⎦⎥⎥⎤mi×mi
则 e J i t = e λ i t = [ 1 t t 2 2 ! ⋯ t m i − 1 ( m i − 1 ) ! 0 1 t ⋯ t m i − 2 ( m i − 2 ) ! ⋮ ⋮ ⋱ ⋱ ⋮ 0 0 0 1 t 0 0 0 0 1 ] e^{J_it}=e^{\lambda_it}=\begin{bmatrix} 1&{\rm{t}}&{\frac{{{t^2}}}{{2!}}}& \cdots &{\frac{{{t^{{m_i} - 1}}}}{{({m_i} - 1)!}}}\\ 0&1&t& \cdots &{\frac{{{t^{{m_i} - 2}}}}{{({m_i} - 2)!}}}\\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0&0&0&1&t\\ 0&0&0&0&1 \end{bmatrix} eJit=eλit=⎣⎢⎢⎢⎢⎢⎢⎡10⋮00t1⋮002!t2t⋱00⋯⋯⋱10(mi−1)!tmi−1(mi−2)!tmi−2⋮t1⎦⎥⎥⎥⎥⎥⎥⎤
所以:
e J t = [ e 2 t 0 0 0 e − t t e − t 0 0 e − t ] e^{Jt}=\begin{bmatrix} {{e^{2t}}}&0&0\\ 0&{{e^{ - t}}}&{t{e^{ - t}}}\\ 0&0&{{e^{ - t}}} \end{bmatrix} eJt=⎣⎡e2t000e−t00te−te−t⎦⎤
这里的关键是求性质 8 中的变换矩阵 T,设 T = [ t 1 , t 2 , t 3 ] T=[t_1,t_2,t_3] T=[t1,t2,t3].
实质上可以看做一个相似对角化的过程。
t 1 t_1 t1 是 λ 1 \lambda_1 λ1 这个特征值所对应的特征向量。
t 2 t_2 t2 是特征值是 λ 2 \lambda_2 λ2 所对应的特征向量。
t 3 t_3 t3 是特征值是 λ 3 \lambda_3 λ3 所对应的广义特征向量。(广义特征向量是矩阵变换为约当标准型所使用的)
知识点在维基百科