第三章线性系统状态方程的解

第三章线性系统状态方程的解
第三章线性系统状态方程的解

第三章 系统的分析——状态方程的解

§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

相关主题
相关文档
最新文档