§3-1线性连续定常齐次方程求解
一、齐次方程和状态转移矩阵的定义
1、齐次方程
状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统
(t)Ax(t) 的状态方程的齐次部分为:xAx 线性定常连续系统:x
2、状态转移矩阵的定义
Ax有两种常见解法:齐次状态方程x(1)幂级数法;(2)拉氏变换法。其解为
At其中e称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为: x(t)eAtx(0)。(t)eAt。
若初始条件为x(t0),则状态转移矩阵记为:(tt0)eA(tt0)
对于线性时变系统,状态转移矩阵写为(t,t0),它是时刻t,t0的函数。但它一般不能写成指数形式。
(1)幂级数法
Ax的解是t的向量幂级数 设x2k x(t)b0b1tb2tbkt
,bk,都是n维向量,则 式中b0,b1,b2,
(t)b12b2t3b3t2kbktk1 x2k A(b0b1tb2tbkt)
故而有:
b1Ab0112bAbAb0212211 b3Ab2A3b0 33!b1AKbK0k!且有x(0)b0。 故
2k x(t)b0b1tb2tbkt
1221Ab0tAkb0tk 2!k!1221kk (IAtAtAt)x(0)
2!k! b0Ab0t定义:eAt1221kk1IAtAtAtAktk
2!k!K0k!则x(t)eAtx(0)。
(2)拉氏变换解法
Ax两端取拉氏变换,有 将x sx(s)x(0)Ax(s) (sIA)x(s)x(0) x(s)(sIA)拉氏反变换,有
x(t)L[(sIA)]x(0) 则
(t)eAtL1[(sIA)1]
111x(0)
【例3.1.1】 已知系统的状态方程为x和状态方程的解。
解:(1)求状态转移矩阵
01x,初始条件为x(0),试求状态转移矩阵00(t)eAtIAt1221AtAktk 2!k!此题中:
010023n A, AAA00
00所以
2
(t)eAtIAt100t1t 010001 (2)状态方程的解 x(t)e
At1tx(0)x(0)
01【例3.1.2】 已知系统状态方程为x解。
解:x(t)eAtx(0) sIA10x,初始条件为x(0),试求状态方程的231s1s00 0s232s312s31s1s21222s(s1)(s2)s1s2At (sIA)111s1s2 12s1s2 (t)e 故而
2ete2tL[(sIA)]t2t2e2e11ete2t t2te2e2ete2t x(t)ex(0)t2t2e2eAtete2tx(0) t2te2e%Example 3.1.2: %MATLAB syms s t x; A=sym('[0,1;-2,-3]'); I=eye(2); L=inv(s*I-A) lap=ilaplace(L) x=lap*x 二、状态转移矩阵eAt的性质
(t)eAtIAt1221AtAktk 2!k!(1)(0)I
(t)A(t)(t)A (2)(0)A (3)(t1t2)(t1)(t2)(t2)(t1) 证明:(t1t2)eA(t1t2)eA(t1)eA(t2)(t1)(t2)(t2)(t1)
3-3
(4)(t)(t),(t)(t)
证明:(0)(tt)(t)(t)I(t)(t) (5)x(t)(tt0)x(t0) 证明:x(t)(t)x(0)
1 x(t0)(t0)x(0)x(0)(t0)x(t0),代入上式
111 ∴x(t)(t) 证毕。
1(t0)x(t0)(tt0)x(t0)
(6)(t2t0)(t2t1)(t1t0)
证明:x(t2)(t2t0)x(t0)………………………. …………………(1) x(t1)(t1t0)x(t0)……………………………………………(2) x(t2)(t2t1)x(t1)(t2t1)(t1t0)x(t0)…………….(3) 比较(1)、(3)式,有(t2t0)(t2t1)(t1t0)成立。证毕。
(7)(t)(kt)
kAtkkAtA(kt)(kt) 证明:(t)[e]eek(8)若ABBA,则e(AB)teAteBteBteAt eAteBteBteAt
若ABBA,则e(AB)tAx的状态转移矩阵,引入非奇异变换xPx后的状态转移矩阵为: (9)设(t)为x (t)PeP
1AtAx中,有 证明:将xPx代入x1P1APt xPAPx (t)e
eP1APtIP1APt111(PAP)2t2(P1AP)ktk 2!k!
4
111(PAP)2t2(P1AP)ktk 2!k!1221kk1 P(IAtAtAt)P
2!k! PPPAPt11 PeP ∴(t)PeP。证毕。
(10)两种常见的状态转移矩阵
①设Adiag[1,2,,n],即A为对角阵,且具有互异元素。则
1At1Ate1t0 (t)0ent②设A为mm约当阵
Ate10,则(t)1mm0tetet012tte2!tet01tm1et(m1)!1m2tte (m2)!et
【例3.1.3】 已知状态转移矩阵为 eAt2ete2tt2t2e2eete2t t2te2e 试求1(t)和A。
解:(1)根据状态转移矩阵的性质4,可知
2ete2t (t)(t)t2t2e2e1ete2t t2te2e (2)根据状态转移矩阵的性质2,可知
2et2e2t A(0)t2t2e4e
1et2e2t0
et4e2tt023
3-5
【例3.1.4】 已知
011 A1044 试求状态转移矩阵e。 解:根据状态转移矩阵的性质10,可知
At (t)eAtte000tetet0012tte2tetet013tte612tte 2tteet
【例3.1.5】 验证如下矩阵是否为状态转移矩阵。
001
sintcost 00costsint解:利用性质(1)(0)I
001100001I,所以该矩阵不是状态转移矩阵。
sintcost 00costsintt0010
Ax, 【例3.1.6】 已知系统状态方程为xe2t1 当x(0)时,x(t)2t
1e2et2 当x(0)时,x(t)t
1e 试求系统矩阵A和状态转移矩阵e。
At(0) 解:由性质(2)可知:A由已知,有
e2t x(t)ex(0) 2teAt22etAt1e11 te
6
∴eAte2t2te2etet21111e2t2te2et12 t11e2ete2t t2tee2et2e2t t2te2e
∴A(t)2et2e2t2et4e2tt0et2e2tet4e2t0t01
§3-2 线性连续定常非齐次状态方程的解
线性定常非齐次状态方程:xAxBu,求x(t)。 1、直接积分法
xAxBu左乘eAt,有
eAt(xAx)eAtBu 由于d(eAtx)eAtdt(xAx) 所以ddt(eAtx)eAtBu,两端同时积分,有
eAtx(t)x(0)t0eABu()d
∴x(t)eAtx(0)t0eA(t)Bu()d
(t)x(0)t0(t)Bu()d 注意:若取t0作为初始时刻,积分可得: eAtx(t)eAt0x(tt0)teABu()d
0 x(t)eA(tt0)x(tt(t)0)teABu()d
0
2、拉氏变换法
xAxBu,两边同时取拉氏变换 sx(s)x(0)Ax(s)Bu(s) (sIA)x(s)x(0)Bu(s)
3-7
23 则 x(s)(sIA)x(0)(sIA)Bu(s) x(t)L[(sIA)]x(0)L[(sIA)Bu(s)] 由拉氏变换卷积定理: L[F1(s).F2(s)]11111111tt0f1(t).f2()d
在此(sIA)视为F1(s),Bu(s)视为F2(s)。则
AtA(t)Bu()d x(t)ex(0)e0
100【例3.2.1】 已知系统状态方程为xx1u,输入u(t)1(t),
23 初始条件为x(0)解:由已知有
x(t)ex(0)AtAtx1(0),试求解此非齐次状态方程。 x2(0)t0eA(t)Bu()d
(1)先求e,由前面例题可知 etAt2ete2tt2t2e2eete2t
et2e2t(2)求
0eA(t)Bu()d
A(t)
t0e2e(t)e2(t)Bu()d02e(t)2e2(t)te(t)e2(t)0d (t)2(t)e2e1 t0e(t)e2(t)d (t)2(t)2eet 0e(t)e2(t)d(t) (t)2(t)2ee12t(t)12(t)t1teeee 222e(t)e2(t)ete2t0故而
8
2ete2t x(t)t2t2e2e
112ttete2tx1(0)ee 22et2e2tx2(0)ete2t12t1tx1(0)0ee 特别说明:若x(0),则x(t)22ete2tx2(0)0其状态轨迹图可以MABLAB绘出: %Example 3.2.1 matlab program:
grid;
xlabel('时间轴');
ylabel('x代表x1,----*代表x2'); t=0:0.1:10;
x1=0.5-exp(-t)+0.5*exp(-2*t); x2=exp(-t)-exp(-2*t); plot(t,x1,'x',t,x2,'*') end
3-9
§3-3 状态转移矩阵eAt的计算
1、直接幂级数法
eAt1221kk1IAtAtAtAktk
2!k!K0k!2、拉氏变换法
eAtL1[(sIA)1]
3、利用性质,采用对角化的方法
【例3.3.1】 已知系统状态方程为x10x,试利用对角化的方法求eAt。 23解:det(IA)(1)(2)0,解出特征值11,22。 选用变换阵P,使P1AP对角化。由于A为友矩阵,故P可选为: P根据e而e111111211, P1211
21AtAtP1APtPeP可推出:e10t02PeP1APtP1
PAPteet00 e2t∴e
AtPeP1APtP12ete2tt2t2e2eete2t
et2e2t4、利用Caylay-Hamilton定理计算(待定系数法)
(1)Caylay-Hamilton定理
设n阶矩阵A的特征多项式为:
f()IAnan1n1a1a0
则A满足其特征方程,即
nn1 f(A)Aan1Aa1Aa0I0
(2)推论1
矩阵A的k(kn)次幂,可表示为A的(n1)阶多项式
k Am0an1mAm,kn
10
【例如】 已知A12100,求A? 01解:A的特征多项式为:
f()IA221
根据Caylay-Hamilton定理,有
f(A)A2AI0, ∴A22AI
故AAAA(2AI)2AA2(2AI)A3A2I AAAA(3A2I)3A2A3(2AI)2A4A3I 依次归纳,有:
AkA(k1)I 所以有:A100100A99I
(3)推论2
状态转移矩e可表示为A的(n1)阶多项式 eAtk4323222100200990120009901
0100Atam(t)Am
m0n1 式中,a0(t),a1(t),,an1(t)均为幂函数。
【例3.3.2】 已知系统状态方程为x10x, 23At 试利用Caylay-Hamilton定理求e解:(1)求系统矩阵A的特征值
。
det(IA)0 (1)(2)0, 解出11,22
,n,写出如下方程组: (2)一般情况下,对于n个互异的特征值1,2,2n1a0a11a21an11e1tt2n1a0a12a22an12e2 nt2n1a0a1na2nan1ne
3-11
,an即可。对于本例: 并解出a0,a1,a0a11e1ta0a1et 2t2ta02a1ea0a12et2tt2t解出a02ee,a1ee
,n的情况,按下式计算e(3)对于系统具有n个互异的特征值1,2,At2n1 ea0Ia1Aa2Aan1A
At:
对于本例有: e
At2ete2ta0Ia1At2t2e2eete2t t2te2e§3-4 离散系统状态方程的解
一、由差分方程建立动态方程
线性离散系统的动态方程可以充分利用差分方程建立,也可以利用线性连续动态方程的
离散化得到。
SISO线性定常离散系统的差分方程一般形式为:
y(kn)an1y(kn1)a1y(k1)a0y(k)bnu(kn)bn1u(kn1)b1u(k1)b0u(k)
式中,k表示kT时刻;T为采样周期;y(k)、u (k)分别为kT时刻的输出量和输入量;ai、bi(i0,1,2,,n, 且an1)为表征系统特征的常数。
考虑初始条件为零时的Z变换关系有:
Z[y(k)]y(z), Z[y(kn)]zy(z) 对上边式子两边取Z变换,并整理为:
ny(z)bnznbn1zn1b1zb0 G(z)nn1u(z)zan1za1za0 bnn1zn11z0znan1zn1a1za0
12
bnN(z) D(z)按连续系统的方法,对N(z)/D(z)做串联分解,最后可得到离散系统状态空间表达式的一种形式:
x1(k1)0x(k1)02 x(k1)n10xn(k1)a0
y(k)0简记为:
100a1010a20x1(k)0x(k)002u(k)
1xn1(k)0an11xn(k)12n1x(k)bnu(k)
x(k1)Gx(k)hu(k)
y(k)cx(k)du(k)MIMO线性定常离散系统的动态方程为: x(k1)Gx(k)Hu(k)
y(k)Cx(k)Du(k)
离散系统的一般结构图
【例3.4.1】设某线性离散系统的差分方程为:
y(k2)y(k1)0.16y(k)u(k1)2u(k) 试写出系统的状态空间表达式。 解:离散系统的状态空间表达式为: x(k1)Gx(k)hu(k)
y(k)cx(k)du(k)3-13
其中:G
100, h, c21, d0 0.1611二、线性定常连续系统动态方程的离散化
AxBu在x(t0)及u(t)作用下的解为: 线性定常非齐次状态方程x x(t)eA(tt0)x(t0)eA(t)Bu()d
t0t 或x(t)(tt0)x(t0)令t0kT,则x(t0)x(kT)x(k)
tt0(t)Bu()d
t(k1)T,则x(t)x[(k1)T]x(k1) u(k)u(k1)常数,于是 x(k1)[(k1)TkT]x(k) (T)x(k)
记H(T)(k1)TkT[(k1)T]Bdu(k)
(k1)TkT[(k1)T]Bdu(k)
(k1)TkT[(k1)T]Bd
令(k1)T,则代换后有 H(T)T0()Bd()Bd
0T故离散化状态方程为:x(k1)G(T)x(k)H(T)u(k) 输出方程为:y(k)Cx(k)Du(k)
G(T)(T)(t)tT H(T)()Bd 0T14
【例3.4.2】试写出连续时间系统
x010xu 021 采样周期为T的离散化状态方程。 解:先求e
At(t)eAts1L1[(sIA)1]L1
0s2111s L01s(s2)110s21(1e2t) 22teG(T)(T)(t)tT10T1(1e2T) 2e2T112T(1e2)0(1e)dd 2201e2e2H(T)()Bd0T010112T12T11Tee22444 112T12ee2022所以:
x(k1)G(T)x(k)H(T)u(k)
112T11Te2Tx1(k1)1(1e)x1(k)244 2u(k) 11x(k1)x(k)2T2T20ee222
例3.4.2连续系统离散化MATLAB程序: %Example3.4.2 : Continuous to discrete system
A=sym('[0,1;0,-2]') B=sym('[0;1]') T='T'
[G,H]=c2d(A,B,T)
3-15
%example3.4.2的另一种MATLAB程序: syms s t T;
A=sym('[0,1;0,-2]'); B=sym('[0;1]'); I=eye(2); L=inv(s*I-A) lap=ilaplace(L) G=subs(lap,'T')
H=int(symmul(lap,B),0,T)
三、离散系统状态方程的解
两种解法:递推法和Z变换法。
递 推 法:又称迭代法,对于定常和时变系统都适用。 Z变换法:只适用于定常系统。
1、递推法
x(k1)G(T)x(k)H(T)u(k) 依次令k0,1,2,,从而有
k0 x(1)G(T)x(0)H(T)u(0) k1 x(2)G(T)x(1)H(T)u(1)
G(T)x(0)G(T)H(T)u(0)H(T)u(1)
2k2 x(3)G(T)x(2)H(T)u(2)
G(T)x(0)G(T)H(T)u(0)G(T)H(T)u(1)H(T)u(2) ………… 依此类推。
递推公式为:
x(k)G(T)x(0)k32kGi0k1k1i(T)H(T)u(i)
其中G(T)称为线性定常离散系统的状态转移矩阵,记为(k)。 G(T)(kT)(k)
((k)满足:(k1)G(k); (0)I)
k
16
【例3.4.3】已知某离散系统的状态方程是: x(k1)G(T)x(k)H(T)u(k) G1011,,初始状态,u(k)1, Hx(0)0.16111 试用递推法求解x(k)。 解:x(1)G(T)x(0)H(T)u(0)11100 0.161111.84 x(2)G(T)x(1)H(T)u(1)1012.8401.8410.84
0.16112.8410.160 0.1610.8411.386 x(3)G(T)x(2)H(T)u(2)
显然,用递推法求解所得到的不是一个封闭的解析形式,而是一个解序列。
采用MATLAB语言,求解例3.4.3:
%Example 3.4.3 G=[0,1;-0.16,-1]; H=[1;1]; U=1;
X1=[1;-1]; hold on; for k=1:400 X1=G*X1+H*U plot(X1(1),X1(2),'*'); end
2、Z变换法
设定常离散系统的状态方程是: x(k1)Gx(k)Hu(k) 两边取Z变换:
zx(z)zx(0)Gx(z)Hu(z),整理有 (zIG)x(z)zx(0)Hu(z)
3-17
∴x(z)(zIG)zx(0)(zIG)Hu(z) 两边取Z反变换:
x(k)Z[(zIG)zx(0)]Z[(zIG)Hu(z)]
【例3.4.4】已知某离散系统的状态方程是: x(k1)G(T)x(k)H(T)u(k) G1111111011,,初始状态Hx(0)11,u(k)1,
0.161 试用Z变换法求解x(k)。 解:
(zIG)1z1(z0.2)(z0.8)1z0.160.16z1(z0.2)(z0.8)11(z0.2)(z0.8)
z(z0.2)(z0.8)43 z0.2415z0.2而 x(z)(zIG)[zx(0)Hu(z)] u(z)113z0.8415z0.8533z0.2z0.8
4133z0.2z0.85z z1z2zzz1z1 zx(0)Hu(z)z22z zzz1z1(z22)z(z0.2)(z0.8)(z1) ∴x(z)2(z1.84z)z(z0.2)(z0.8)(z1)
18
z22z25z17()()()6z0.29z0.818z1 3.4z17.6z7z()()()9z0.818z16z0.2对x(z)取z反变换,有
222517kk(0.2)(0.8)918 x(k)63.417.67kk(0.2)(0.8)6918
3-19
因篇幅问题不能全部显示,请点此查看更多更全内容