线性定常系统的能控性和能观测性.docx

上传人:b****1 文档编号:12761571 上传时间:2023-04-21 格式:DOCX 页数:25 大小:261.77KB
下载 相关 举报
线性定常系统的能控性和能观测性.docx_第1页
第1页 / 共25页
线性定常系统的能控性和能观测性.docx_第2页
第2页 / 共25页
线性定常系统的能控性和能观测性.docx_第3页
第3页 / 共25页
线性定常系统的能控性和能观测性.docx_第4页
第4页 / 共25页
线性定常系统的能控性和能观测性.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

线性定常系统的能控性和能观测性.docx

《线性定常系统的能控性和能观测性.docx》由会员分享,可在线阅读,更多相关《线性定常系统的能控性和能观测性.docx(25页珍藏版)》请在冰豆网上搜索。

线性定常系统的能控性和能观测性.docx

线性定常系统的能控性和能观测性

线性定常系统的能控性和能观测性

一、实验设备

PC计算机,MATLAB软件,控制理论实验台。

二、实验目的

〔1〕学习系统状态能控性、能观测性的定义及判别方法;

〔2〕通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。

〔3〕掌握能控性和能观测性的概念。

学会用MATLAB判断能控性和能观测性。

〔4〕掌握系统的结构分解。

学会用MATLAB进行结构分解。

〔5〕掌握最小实现的概念。

学会用MATLAB求最小实现

三、实验原理

〔1〕参考教材P117~118“利用MATLAB判定系统能控性〞

P124~125“利用MATLAB判定系统能观测性〞

〔2〕MATLAB现代控制理论仿真实验根底

〔3〕控制理论实验台使用指导

四、实验内容

〔1〕系统状态空间描述如下

'0

2

-T

T

X—

5

1

2

r+

0

-2

0

0

1

-i

>=[110]x

(1)判断系统状态的能控性和能观测性,以及系统输出的能控性。

说明状态能

控性和输出能控性之间有无联系。

代码:

A=[02-1;512;-200];

B=[1;0;-1];

C=[1,1,0];

D=[0];

Uc=[B,A*B,AA2*B,AA3*B];

rank(Uc)%能控性判断

Uo=[C,C*A,C*AA2,C*AA3];

rank(Uo)%判断能观性

Uco=[C*B,C*A*B,C*AA2*B,C*AA3*B];

rank(Uco)%判断输岀能控性

»LmtitLedo

arw■

3

QTL:

1

aiiji-

1

fx»

(2)令系统的初始状态为零,系统的输入分别为单位阶跃函数和单位脉冲函数。

用MATLAB函数计算系统的状态响应和输出响应,并绘制相应的响应曲线。

观察

和记录这些曲线。

当输入改变时,每个状态变量的响应曲线是否随着改变?

能否根据这些曲线判断系统状态的能控性?

单位阶跃输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

Uc=[B,A*B,AA2*B,AA3*B];

rank(Uc)%判断状态能控性

Uo=[C,C*A,C*AA2,C*AA3];

rank(Uo)%判断能观性

Uco=[C*B,C*A*B,C*AA2*B,C*AA3*B];

rank(Uco)%判断输岀能控

G=ss(A,B,C,D);

t=[0:

.04:

2];

%单位阶跃输入

'm')%状态及输岀响应曲线

[y,t,x]=step(G,t);

plot(t,x,'b',t,y,

legend('original

targetpositions','original

targetpositions'

,'丫')

X

Figure1

单位脉冲输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

G=ss(A,B,C,D);

t=[0:

.04:

2];

[y,t,x]=impulse(G,t)%单位脉冲输入

plot(t,x.

'b',t,y,'m')%犬态及输岀响应曲线

legend('original

targetpositions','original

targetpositions'

,'丫')

1.05*03•

0.0010

0.0012

0.0014

o.ooie

0.0018

0.0021

0.0024

0.0028

0.0033

0.0038

0.0013

0.0050

O.G05?

0.0066

0.0076

0.0088

0.0101

0.0117

0.0135

0.0155

0.0179

0.0206

0.0338

0.0274

0.0316

0.0364

0.0420

0.0485

0.0559

0.0644

0.0400

0.0800

0.1200

0.1600

0.2000

0.2400

0.2800

0.3200

0.3600

0.4000

0.4400

0.4800

0.5200

0.3C00

0.6000

0.6400

0.6BOO

0.7200

0.7600

0.8000

0.8400

0.8BOO

0.9200

0.9600

1.0000

1.0400

1.0800

1.1200

1.1600

1.2000fxL.24OO

1.oooo

0

-1.0000

1.0465

0.12X

・1.0818

1.1066

0.2653

・l.L«78

1.1813

0.4009

・1.2592

1.2720

0.5606

・1.3572

1.3802

0・73M

・1.4632

1.5079

0.9390

-1.5786

1.6BT6

1.16&9

-1.7051

L83L9

1.4242

-1.8445

2.0342

l.*154

-1.9S89

2.2683

2.0578

-2.LT08

2.5387

2.44C«

-2.3«28

2.8506

2.8939

-2.5T81

3.2101

3.4092

-2.8202

MOW

4.O033

Y.no3?

4.1010

4.6S87

-3.4017

4.6499

5.4797

-3.7513

5.2818

6.3927

-4.147&

&W91

7.4469

-4.5989

6.8464

8.6641

-6.1123

7.3103

10.0656

-5.6977

8.9202

11.6926

3«58

10.1583

13.5666

-7.1294

11.6704

15."304

-8.0028

13.3660

18.2288

-fi.0026

15.3194

21.1132

-10.U82

17.5701

24.4431

・11.1616

20.1636

28.2873

72X5

23.1523

32."219

-14.6931

26.sn

37.8472

-LC.6851

A

30.5677

43.756«

-18.

当输入改变时,每个状态变量的响应曲线并没有随着改变

(3)将给定的状态空间表达式变换为对角标准型,判断系统的能控性和能观测

性,与1)的结果是否一致?

为何?

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

G=ss(A,B,C,D);

G1=canon(G,'model')

A1=[-3.89,0,0;0,3.574,0;0,0,0.8234];

B1=[0.389;-0.7421;-0.6574];

C1=[-0.2313,-1.37,-0.1116];

D1=[0];

Uc=[B,A*B,AA2*B,AA3*B];

rank(Uc)%判断状态能控性

Uo=[C,C*A,C*AA2,C*AA3];

rank(Uo)%判断能观性

>ybhJalweIdui.Jiaobj^hi-dUcIn

GL-

a■

jlLx3

xl-3.39B00

£D15740

xlD00.S231

b—

ul

xlQ.3的

曲-0.7451

xJ-g.€-574

常Iz?

w3

yl-Q.23L3-LJ7-0.L316

ul

Centinuoiis-tmestjat^ss-ae?

&od*L.

sz:

s-

aj^s=

系统的能控性和能观测性,与1)的结果是一致的

(4)令3)中系统的初始状态为零,输入分别为单位阶跃函数和单位脉冲函数。

用MATLAB函数计算系统的状态响应和输出响应,并绘制响应的曲线。

观察和记

录这些曲线。

当输入改变时,每个状态变量曲线是否随着改变?

能否根据这些曲线判断系统以及各状态变量的能控性?

不能控和能控状态变量的响应曲线有何不同?

单位阶跃输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

G1=ss(A,B,C,D);

t=[0:

.04:

3];

[y,t,x]=step(G1,t)

%单位脉冲输入

plot(t,x,

'b',t,y,'m')%犬态及输岀响应曲线

,'丫')

legend('original

targetpositions','original

targetpositions'

X

单位脉冲输入:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

G=ss(A,B,C,D);

G1=canon(G,'model')t=[0:

.04:

2];

[y,t,x]=impulse(G,t)

%单位脉冲输入

plot(t,x,

'b',t,y,'m')%犬态及输岀响应曲线

legend('original

targetpositions','original

targetpositions'

,'丫')

输入改变时,每个状态变量曲线并没有随着改变。

(4)根据2)和4)所得曲线能否判断系统状态以及各状态变量的能观测性?

答:

能观性表述的是输出y(t)反映状态变量x(t)的能力,与控制作用没有直接关系。

⑴如下和所描述的系统

系统

>=1-1一比

■-1

0

0

-?

Q

0

0■

0

~2

I

x=\

x+

0

0

-2

0

0

0

0

0

-5

_0

^=[1010^

(1)将给定的状态空间模型转换为传递函数模型。

令初始状态为零,用MATLAB

计算系统的单位阶跃输出响应,绘制和记录相应的曲线。

代码:

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

G=ss(A,B,C,D);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)

%单位阶跃输入

plot(t,x,'b',t,y,

'm')%犬态及输岀响应曲线

legend('original

targetpositions','originaltargetpositions','X','丫')

»ddAsijk■jjlJikiluXluDg•ij増

=

-■63E+11

3*3-I-33-0

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

G=ss(A,B,C,D);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions','originaltarget

positions','originaltargetpositions','X','丫')

5+1

CouLinuu.u^"Lmelxfundiim.

11

(2)按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为

传递函数模型。

它与1)中所得的传递函数模型是否一致?

为什么?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。

这一曲线与1)中的输出曲线是否一致?

为什么?

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AcBcCcTcKc]=ctrbf(A,B,C);

G=ss(Ac,Bc,Cc,O);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions'

,'丫'〕

»Untitled]?

fS畔il

Lnni1nu口u.s-ilin聲tranrfe-rfuncti□tl

Cl=

按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1〕中所得的传递函数模型一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1〕中的输出曲线是一致的。

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

[AcBcCcTcKc]=ctrbf(A,B,C);

G=ss(Ac,Bc,Cc,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltarget

positions','originaltargetpositions','X','Y')

"*Figure1

阳尸癲iE亘毛W仇WEZr/fl

肾旳i卜l

1

-J□J|®权人-1DDO]■

1a

16

1,4

12

1

D8

»Untklled]4

G]-

Continu^uf-tire电rHTLiferfunEtion.

按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1〕中所得的传递函数模型是不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1〕中的输出

曲线是不一致的。

〔3〕按能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其

转换为传递函数模型。

它与1〕中的传递函数模型是否一致?

为何?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。

这一曲线与1〕中的输出曲线是否一致?

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AoBoCoToKo]=obsvf(A,B,C);

G=ss(Ao,Bo,Co,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions','originaltarget

positions','originaltargetpositions','X','丫')

CantLnU.aUjtLa?

!

Ltuhlfrtfutic:

Liact.

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1〕中所得的传递函数模型一致的。

令初始状态为零,用MATLAB

计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1〕中的输出

曲线是不一致的

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];[AoBoCoToKo]=obsvf(A,B,C);

G=ss(Ao,Bo,Co,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions','originaltarget

positions','originaltargetpositions','X','丫')

Figure1

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1〕中所得的传递函数模型不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1〕中的输出曲线是不一致的。

4〕按能控性能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其转换为传递函数模型。

它与1〕中的传递函数模型是否一致?

为何?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应的曲线这一曲线与1〕中的输出曲线是

否一致?

为什么?

代码:

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AkBkCkTk]=kalmdec(A,B,C);

G=ss(Ak,Bk,Ck,O);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions','X','丫')

I

nnhtLilian

hi七3£-S

function.

按能控性能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换

为传递函数模型,它与1〕中所得的传递函数模型是一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与

1〕中的输出曲线是不一致的。

,'丫')

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

[AkBkCkTk]=kalmdec(A,B,C);

G=ss(Ak,Bk,Ck,0);

G1=tf(G)

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%犬态及输岀响应曲线

legend('originaltargetpositions','X'

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是一致的。

(3)系统

■-1

0

0

0

2

0

-3

0

0

r+

1

0

0

-2

0

0

_Q

0

0

0

¥

Ope

1

卫十1

(s+1X^+2)(j+3)

1)求最小实现(用函数minreal()。

(a)

代码:

A=卜1,0,0,0;0,-3,0,0;0,0,-2,0;0,0,0,-4];

B=[2;1;0;0];

C=[1,0,1,0];

D=0;

G=ss(A,B,C,D);

Gm=minreal(G)

xl

xl-1

b吕

ul

xl2

亡■

X1

rl1

d*I

ul

yio

C:

ntinuo'iz-tneSL:

3t=-Epaceiod=1・

齐rnrfcn^r11"刘i

(b)

num=[1,1];

den=[1,6,11,6];

G=tf(num,den);

G1=ss(G)

Gm=minreal(G1)

»Umitled?

!

CL=

3L=

xl

3L1

x3

5-

xl

T-2

亠75

-1.5

鼠=

d

a

0

:

-:

2

0

1

0

Ml

-Q:

和-»

A-rJ9»

5,9:

»

勺111

h—

ut

b=

0.5

ul

y:

2

0

xl

D.34B2

y.3

0

m2

-0.34S2

C"

c■

tL

xl

00.6

a-5

yl

o*5ms

d-

d■

诅1

U1

yl

0

yl

0

匚ufttinuius-iie'S

CwtLnUl9U3-tLXl«

Eiatcra.c«HdfiL

1

mg泌

1

A

»U^nicltd2:

|

2)判断所得系统的能控性和能观测性

(a)

代码:

A=[-1,0,0,0;0,-3,0,0;0,0,-2,0;0,0,0,-4];B=[2;1;0;0];C=[1,0,1,0];D

=0;

G=ss(A,B,C,D);

Gm=minreal(G)

Uc=[B,A*B,AA2*B,AA3*B];

rank(Uc)%判断能控性

Uo=[C,C*A,C*AA2,C*AA3];

rank(Uo)%判断能观性

d*

ul

ylo

Centziludlle-tzla3tat=-spaceu:

del・

an=

2

aas二

1

亠*\x.te—4=—r_-an

(b)

代码:

num=[1,1];

den=[1,6,11,6];

G=tf(num,den);

G1=ss(G)

Gm=minreal(G1)

A=[-6-2.75-1.5;400;010];

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1