第三章线性系统状态方程的解
第三章 系统的分析——状态方程的解
§3-1线性连续定常齐次方程求解
一、齐次方程和状态转移矩阵的定义
1、齐次方程
状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为:
)()(t Ax t x =&
线性定常连续系统:
Ax x
=& 初始条件:00x x t ==
2、状态转移矩阵的定义
齐次状态方程Ax x =&有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为
)0()(x e t x At ?=。其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为:
At e t =)(φ。
若初始条件为)(0t x ,则状态转移矩阵记为:)
(0
0)(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。
(1)幂级数法——直接求解
设Ax x
=&的解是t 的向量幂级数 Λ
ΛΛΛ+++++=k k t b t b t b b t x 2210)(
式中ΛΛ,,,
,,k b b b b 210都是n 维向量,是待定系数。则当0=t 时, 000b x x t ===
为了求其余各系数,将)(t x 求导,并代入)()(t Ax t x
=&,得:
Λ
ΛΛΛ&+++++=-1232132)(k k t kb t b t b b t x
)(2210ΛΛΛΛ+++++=k k t b t b t b b A
上式对于所有的t 都成立,故而有:
?????
??????======00
3
230
21201!1!31312121b A k b b A Ab b b A Ab b Ab b K K M
且有:00x b =
故以上系数完全确定,所以有:
Λ
ΛΛΛ+++++=k k t b t b t b b t x 2210)(
ΛΛ++++
+=k k t b A k t b A t Ab b 020200!
1
!21
)0()!
1!21(22x t A k t A At I k
k ΛΛ+++++=
定义(矩阵指数或矩阵函数):
∑∞==+++++=022!
1!1!21K k
k k k At
t
A k t A k t A At I e
ΛΛ
则
)0()(x e t x At
?=。
(2)拉氏变换解法
将Ax x
=&两端取拉氏变换,有
)()0()(s AX X s sX =- )0()()(X s X A sI =-
)0()()(1X A sI s X ?-=-
拉氏反变换,有
)0(])[()(1
1x A sI L t x ?-=--
则由微分方程解的唯一性可知:
])[()(1
1---==A sI L e
t At
φ
【例3.1.1】 已知系统的状态方程为x x ??
????=0010&,初始条件为)0(x ,试求状态转移矩阵和
状态方程的解。
解:(1)求状态转移矩阵
ΛΛ++++
+==k k At t A k t A At I e t !
1
!21)(22φ 此题中: ??????=0010A , ??
????====000032n
A A A ΛΛ 所以
??
?
???=??????+????
??=+==1010001001)(t t At I e t At φ (2)状态方程的解 )0(101)0()(x t x e t x At
??
?
?
???=?=
【例3.1.2】 已知系统状态方程为x x ??
????--=3210
&,初始条件为)0(x ,试求状态方程的解。
解:
)0()(x e t x At
?= ??
????+-=??????---??????=-321321000s s s s A sI
??
??
??????++
+-+++-+-
++-+=??????-+++=--22112
2
1221112112
213)2)(1(1
)
(1
s s s s s s s s s s s s A sI ∴??
?
???+-+---=-==----------t t t
t t t t
t At
e e e
e e e e e A sI L e t 222211
2222])[()(φ 故而
)0(2222)0()(2222x e e e
e e e e e x e t x t t t
t t t t
t At ??
?
???+-+---=?=-------- 二、状态转移矩阵At e 的性质
ΛΛ+++++==k
k At
t A k t A At I e
t !
1!21)(22φ
(1)I =)0(φ
(2)A t t A t )()()(φφφ==&
A =)0(φ&
(3)
)()()()()(122121t t t t t t φφφφφ±=±=±
证明:)()()()()(1221)()()
(212121t t t t e e e t t t A t A t t A φφφφφ±=±=?==±±±
(4))()(1t t -=-φφ,
)()(1t t φφ=-- 证明:)()()()()()0(1
t t I t t t t -=?=-=-=-φφφφφφ
(5)
)()()(00t x t t t x -=φ
证明:
)0()()(x t t x φ=
)()()0()0()()(00100t x t x x t t x ?=?=-φφ,代入上式
∴
)()()()()()(00001
t x t t t x t t t x -=?=-φφφ 证毕。
(6)
)()()(011202t t t t t t --=-φφφ
证明:)()()(0022t x t t t x -=φ………………………. …………………(1) )()()(0011t x t t t x -=φ……………………………………………(2) )()()()()()(001121122t x t t t t t x t t t x --=-=φφφ…………….(3) 比较(1)、(3)式,有)()()(011202t t t t t t --=-φφφ成立。证毕。
(7)
[]
)()(kt t k
φφ=
证明:
[])(][)()(kt e e e t kt A kAt k At k
φφ====
(8)若BA AB =,则At
Bt Bt At t B A e e e e e ?=?=+)(
若BA AB ≠,则At Bt Bt At t
B A e e e e e ?≠?≠+)(
(9)设)(t φ为Ax x
=&的状态转移矩阵,引入非奇异变换x P x =后的状态转移矩阵为: P e P t At 1)(-=φ
证明:将x P x =代入Ax x
=&中,有 x AP P x
1
-=& APt
P e t 1
)(-=φ
ΛΛ++++
+=----k k APt
P t AP P k t AP P APt P I e
)(!
1
)(!21122111 ΛΛ+++++=----k
k t AP P k t AP P APt P P P )(!1)(!21122111
P t A k t A At I P k k )!
1!21(221
ΛΛ+++++=-
P e P At
1-= ∴P e P t At
1
)(-=φ。证毕。
(10)两种常见的状态转移矩阵 ①设
],,,[21n diag A λλλΛ=,即A 为对角阵,且具有互异元素。则
??
??
?
?????
?
?=t t
n e e t λλφO O 00)(1
②设A 为m m ?约当阵
m
m A ????
??????
??
?=λλλ11
O
O
,则??
?
???
?
?
?
?
?????????
?--=--t t m t t t m t t t e e t m te e e t m e t te e
t λλλλλλλλφΛ
M O M M M M
M M M ΛΛ0
0)!
2(1
0)!
1(1!21)(212
【例3.1.3】 已知状态转移矩阵为 ??
?
??
?+-+---=--------t t t
t t t t t At
e e e e e e e e e
22222222 试求)(1
t -φ
和A 。
解:(1)根据状态转移矩阵的性质4,可知
??
?
??
?+-+---=-=-t t t
t t t t
t e e e e e e e e t t 22221
2222)()(φφ
(2)根据状态转移矩阵的性质2,可知
??
????--==??????--+-+-==--------3210
0442222)0(2222t e e e
e e e e e A t
t t t t t t
t φ&
【例3.1.4】 已知
440
1101
??
???????????=λλλλA 试求状态转移矩阵At
e 。 解:根据状态转移矩阵的性质10,可知
??
?????
????????
?==t t t t t t t t t t
At
e te e e t te e e t e t te e e
t λλλλλλλλλλφ0
0002106
121)(232
【例3.1.5】 验证如下矩阵是否为状态转移矩阵。
????
??????-t t t t sin cos 0cos sin 0001
解:利用性质(1)I =)0(φ
I t t t t t ≠????
?
?????-==??????????-010*******sin cos 0cos sin 0001,所以该矩阵不是状态转移矩阵。
【例3.1.6】 已知系统状态方程为Ax x
=&, 当???
???-=11)0(x 时,??????-=--t t e e t x 22)(
当???
???-=12)0(x 时,??
????-=--t t e e t x 2)(
试求系统矩阵A 和状态转移矩阵At
e 。
解:由性质(2)可知:)0(φ
&=A 由已知,有
)0()(x e t x At ?= ??
????--=??????--?----1121222At t t
t t
e e e
e e ∴??
?
???--??????--=??
????--???
???--=---------112121121
2221
22t t t t
t t t t
At
e e
e e e e e e e
??
?
??
?+-+---=--------t t t
t t t t
t e e e e e e e e 22222222
∴?????
?--=??????--+-+-===--------=3120
424222)
(022220
t t t t
t
t t t t t e e e e e e e e t A φ&
§3-2 线性连续定常非齐次状态方程的解
线性定常非齐次状态方程:
Bu Ax x +=&,求)(t x 。
1、直接积分法
Bu Ax x +=&左乘At
e
-,有
Bu e Ax x e
At At
?=---)(&
由于)()(Ax x e x e dt
d At At
-=?--&
所以Bu e x e dt
d At
At ?=?--)(,两端同时积分,有
τττd Bu e x t x e
A t
At
)()0()(0
?=---?
∴τττd Bu e x e t x t A t
At
)()0()()
(0?+=-?
τττφφd Bu t x t t
)()()0()(0
?-+=?
注意:若取0t 作为初始时刻,积分可得: τττd Bu e t x e
t x e
A t
t At At
)()()(0
0?=----?
τττd Bu e t x e t x t A t
t t t A )()()()(0)
(0
0?+=--?
2、拉氏变换法
Bu Ax x +=&,两边同时取拉氏变换(当0=t 时刻的状态为)0(x )
)()()0()(s Bu s Ax x s sx +=- )()0()()(s Bu x s x A sI +=- 则
)()()0()()(11s Bu A sI x A sI s x ---+-=
)]()[()0(])[()(1
1
1
1
s Bu A sI L x A sI L t x -----+-= 由拉氏变换卷积定理:
?-=-t
d f t f s F s F L 021211
)().()]().([τττ
在此1
)(--A sI 视为)(1s F ,)(s Bu 视为)(2s F 。则
τ
ττd Bu e
x e t x t A t
At
)()0()()
(0
?+=-?
(与直接求解结果相同!)
【例3.2.1】 已知系统状态方程为u x x
?
?
?
???+??????--=103210&,输入)(1)(t t u =, 初始条件为??
?
???=)0()0()0(21x x x ,试求解此非齐次状态方程。
解:由已知有 τττd Bu e x e t x t A t
At
)()0()
()(0
?+=-?
(1)先求At
e ,由前面例题(例3.1.2)可知 ??
?
???+-+---=--------t t t t t t t t At
e e e e e e e e e
22222222 (2)求
τττd Bu e t A t
)()(0
?-?
ττττττττττττd e e e e e e e e d Bu e
t t t t t t t t t t A t
??
?
????????
?
?+-+---=???
-----------------102222)(0)(2)()(2)()(2)()
(2)()
(0
τττττd e e e e t t t t t
??
?
???+--=
--------?
)(2)()(2)(0
2 )(2)(2)()(2)(0
τττττ-??
?
???+---
=--------?
t d e e e e t t t t t
???
?????-+-=????????-+--=------------t t t t
t t t t e e e e t e e e e 22)(2)()(2)(2121021ττττ 故而
???
?????-+-+?????????????+-+---=------------t
t t t
t t t
t t t t
t e e e e x x e e e
e e e e e t x 222122222121)0()0(2222)(
特别说明:若??????=??????=00)0()0()0(21x x x ,则???
?????-+-=----t t t t e e e e t x 222121)( 其状态轨迹图可以MABLAB 绘出:
%Example 3.2.1 matlab program:
grid;
xlabel('时间轴');
ylabel('x 代表x1,----*代表x2');
t=0::10;
x1=(-t)+*exp(-2*t); x2=exp(-t)-exp(-2*t); plot(t,x1,'x',t,x2,'*') end
§3-3 状态转移矩阵At e 的计算
1、直接幂级数法
∑∞
==+++++=022!
1
!1!21K k k k k At
t A k t A k t A At I e
ΛΛ
2、拉氏变换法
])[(11---=A sI L e At
3、利用性质,采用对角化的方法
【例3.3.1】 已知系统状态方程为x x
?
?
????--=3210&,试利用对角化的方法求At
e 。
解:0)2)(1()det(=++=-λλλA I ,解出特征值11-=λ,22-=λ。 选用变换阵P ,使AP P 1-对角化。由于A 为友矩阵,故P 可选为:
??????--=????
??=211111
21
λλP , ??
????--=-11121
P
根据P e P e
At APt
P
11
-=-可推出:11
--=P Pe e APt
P
At
而??
????==--??
?
???---t t t APt
P e e e
e
22001001
∴??
?
???+-+---==----------t t t t t t t t APt
P At
e e e e e e e e P
Pe
e 22221
22221
4、利用Caylay-Hamilton 定理计算(待定系数法)
(1)Caylay-Hamilton 定理
设n 阶矩阵A 的特征多项式为:
0111)(a a a A I f n n n ++++=-=
--λλλλλΛΛ
则A 满足其特征方程,即
0)(011
1=++++=--I a A a A a A A f n n n ΛΛ
(2)推论1
矩阵A 的k (n k ≥)次幂,可表示为A 的)1(-n 阶多项式
∑-==
1
n m m m
k
A a
A ,n k ≥
【例如】 已知??
??
??=1021A ,求?100
=A 解:A 的特征多项式为:
12)(2+-=-=λλλλA I f
根据Caylay-Hamilton 定理,有
02)(2
=+-=I A A A f , ∴I A A -=22
故I A A I A A A I A A AA A 23)2(22)2(2
2
3
-=--=-=-== I A A I A A A I A A AA A 342)2(323)23(2
3
4
-=--=-=-==
依次归纳,有:
I k kA A k
)1(--= 所以有:??
?
???=??????-??????=-=102001990099100020010099100100I A A
(3)推论2
状态转移矩At
e 可表示为A 的)1(-n 阶多项式 ∑-==1
)(n m m m At
A t a e
式中,)(,),(),(110t a t a t a n -Λ均为幂函数。
【例3.3.2】 已知系统状态方程为x x
?
?
????--=3210
&, 试利用Caylay-Hamilton 定理求At
e 。
解:(1)求系统矩阵A 的特征值
0)det(=-A I λ 0)2)(1(=++?λλ, 解出11-=λ,22-=λ
(2)一般情况下,对于n 个互异的特征值n λλλ,,
,Λ21,写出如下方程组: ??????
?=++++=++++=++++------t n n n n n t n n t n n n e
a a a a e a a a a e a a a a λλλλλλλλλλλλ1122101
212222101112121102
1ΛΛM
ΛΛΛΛ 并解出n a a a ,,
,ΛΛ10即可。对于本例: ???=+=+t t e
a a e a a 21210110λλλλ ???=-=-?--t
t
e a a e a a 210102 解出t t e e a 202---=,t
t e e a 21---=
(3)对于系统具有n 个互异的特征值n λλλ,,
,Λ21的情况,按下式计算At
e :
1
12210--++++=n n At A a A a A a I a e ΛΛ
对于本例有: ??
?
???+-+---=+=--------t t t
t t t t
t At
e e e e e e e e A a I a e 2222102222
§3-4 离散系统状态方程的解
一、由差分方程建立动态方程
线性离散系统的动态方程可以充分利用差分方程建立,也可以利用线性连续动态方程的
离散化得到。
SISO 线性定常离散系统的差分方程一般形式为:
)
()1()1()()()1()1()(011011k u b k u b n k u b n k u b k y a k y a n k y a n k y n n n ++++-+++=++++-+++--ΛΛΛΛ
式中,k 表示kT 时刻;T 为采样周期;y(k)、u (k)分别为kT 时刻的输出量和输入量;i a 、i b (n i ,,,,ΛΛ210=, 且1=n a )为表征系统特征的常数。
考虑初始条件为零时的Z 变换关系有:
)()]([z y k y Z =, )()]([z y z n k y Z n
=+ 对上边式子两边取Z 变换,并整理为:
11
10
111)()()(a z a z a z b z b z b z b z u z y z G n n n
n n n n ++++++++==----ΛΛΛΛ 0
11
10
111a z a z
a z z z
b n n n
n n n ++++++++
=----ΛΛΛΛβββ
)
()
(z D z N b n +
= 按连续系统的方法,对)(/)(z D z N 做串联分解,最后可得到离散系统状态空间表达式的一种形式:
)(1000)()()()(10000100001
0)1()1()1()1(12112
10
121k u k x k x k x k x a a a a k x k x k x k x n n n n n ?????
???
?
???????+????????????????????????????????----=????????????????++++---M
M Λ
ΛM M M M
ΛΛM
[])()()(1210k u b k x k y n n +=-ββββΛ
简记为: ???+=+=+)
()()()
()()1(k du k cx k y k hu k Gx k x
MIMO 线性定常离散系统的动态方程为: ??
?+=+=+)
()()()
()()1(k Du k Cx k y k Hu k Gx k x
离散系统的一般结构图
【例3.4.1】设某线性离散系统的差分方程为:
)(2)1()(16.0)1()2(k u k u k y k y k y ++=++++ 试写出系统的状态空间表达式。 解:离散系统的状态空间表达式为: ??
?+=+=+)
()()()
()()1(k du k cx k y k hu k Gx k x
其中:??????--=116.010G , ??
????=10h , []12=c , 0=d
二、线性定常连续系统动态方程的离散化
线性定常非齐次状态方程Bu Ax x +=&在)(0t x 及)(t u 作用下的解为:
τττd Bu e t x e
t x t A t
t t t A )()()()(0)
(0
0?+=--?
或τττφφd Bu t t x t t t x t
t )()()()()(0
00?-+-=?
令kT t =0,则)()()(0k x kT x t x ==
T k t )1(+=,则)1(])1[()(+=+=k x T k x t x 常数=+=)1()(k u k u ,于是 )(])1[()(])1[()1()1(k u Bd T k k x kT T k k x T
k kT
??-++-+=+?
+ττφφ
)(])1[()()()1(k u Bd T k k x T T
k kT
??-++=?
+ττφφ
记ττφBd T k T H T
k kT
?-+=
?
+)1(])1[()(
令ττ'=-+T k )1(,则代换后有 ττφττφBd Bd T H T
T
??
=''=
)()()(
故离散化状态方程为:)()()()()1(k u T H k x T G k x +=+ 输出方程为:)()()(k Du k Cx k y +=
【例3.4.2】试写出连续时间系统
u x x ??
????+??????-=102010&
采样周期为T 的离散化状态方程。 解:先求At
e
1
111201])[()(----??
????+-=-==s s L A sI L e t At
φ
??
?
?
?
???
-=?????
?
??????++=---t t e e s s s s L 2210)1(2
11
210)2(11 T
t t T T G ===)()()(φφ??
?
????
?
-=--T
T e e 220)1(2
11 τττφττd e e Bd T H T
T
?????????????
?
-==?
?--100)1(211)()(0
220
τττd e e T ????
?????-=--022)1(21 0214121
22T e e ?
?????????-+=--τ
ττ??????????-+-=--T T e e T 222
121414121 所以:
)()()()()1(k u T H k x T G k x +=+
)(2121414121)()(0)1(211)1()1(22212221k u e e T k x k x e e k x k x T T T T ????
??????-+-+?????????
?????-=??????++----
例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)
%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、递推法
)()()()()1(k u T H k x T G k x +=+ 依次令Λ,2,1,0=k ,从而有
0=k )0()()0()()1(u T H x T G x += 1=k )1()()1()()2(u T H x T G x +=
)1()()0()()()0()(2
u T H u T H T G x T G ++=
2=k )2()()2()()3(u T H x T G x +=
)2()()1()()()0()()()0()(2
3
u T H u T H T G u T H T G x T G +++= ………… 依此类推。
递推公式为:
∑-=--+
=1
1)()()()0()()(k i i
k k
i u T H T G
x T G k x
其中)(T G k
称为线性定常离散系统的状态转移矩阵,记为)(k φ。 )()()(k kT T G k
φφ==
()(k φ满足:)()1(k G k φφ=+; I =)0(φ)
【例3.4.3】已知某离散系统的状态方程是: )()()()()1(k u T H k x T G k x +=+ ????
??--=116.010G ,??????=11H ,初始状态??
????-=11)0(x ,1)(=k u ,
试用递推法求解)(k x 。
解:)0()()0()()1(u T H x T G x +=??????+??????-????
??--=1111116.010
?
?
????=84.10 )1()()1()()2(u T H x T G x +=??????+??????????
??--=1184.10116.010
?
?
????-=84.084.2 )2()()2()()3(u T H x T G x +=??????+??????-??????--=1184.084.2116.010
??
????=386.116.0
M
M
显然,用递推法求解所得到的不是一个封闭的解析形式,而是一个解序列。
采用MATLAB 语言,求解例3.4.3:
%Example 3.4.3 G=[0,1;,-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 变换法
设定常离散系统的状态方程是: )()()1(k Hu k Gx k x +=+ 两边取Z 变换:
)()()0()(z Hu z Gx zx z zx +=-,整理有 )()0()()(z Hu zx z x G zI +=- ∴)()()0()()(1
1
z Hu G zI zx G zI z x ---+-= 两边取Z 反变换:
)]()[()]0()[()(1
1
1
1
z Hu G zI Z zx G zI Z k x -----+-=
【例3.4.4】已知某离散系统的状态方程是: )()()()()1(k u T H k x T G k x +=+ ????
??--=116.010G ,??????=11H ,初始状态?
?
????-=11)0(x ,1)(=k u , 试用Z 变换法求解)(k x 。 解:
11
116.01)
(--??
????+-=-z z
G zI ??
??
?
?
??????
++++-+++++=)8.0)(2.0()
8.0)(2.0(16.0)8.0)(2.0(1)8.0)(2.0(1z z z z z z z z z z
??????
????????+++-+++-+-+++-+
+=8.0342.0318.01542
.0154
8.0352.035
8.031
2
.034
z z z z z z z z
而 )]()0([)()(1
z Hu zx G zI z x +-=- 1
)(-=
z z
z u ????
????
???
?
-+--=??????????--+??????-=+12111)()0(22z z z z z z z z z z z z Hu zx ∴?????
???????-+++--+++=)1)(8.0)(2.0()84.1()1)(8.0)(2.0()2()(2
2z z z z z z z z z z
z z x ????
??????-++-+-++++-=)1(187)8.0(96.17)2.0(64.3)1(1825)8.0(922)2.0(617z z z z z z z z z z z z 对)(z x 取z 反变换,有
?
?????????+-+-+-+--=187)8.0(96.17)2.0(6
4.31825)8.0(922)2.0(617)(k k k k k x