现代控制理论实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北电力大学

实验报告

|

|

实验名称状态空间模型分析

课程名称现代控制理论基础

|

|

专业班级:自动化1203 学生姓名:孟令虎

学号:2 成绩:

指导教师:刘鑫屏老师实验日期: 2015.4.24

一、实验目的

l.加强对现代控制理论相关知识的理解;

2.掌握用 matlab 进行系统李雅普诺夫稳定性分析、能控能观性分析; 二、实验仪器与软件 1. MATLAB7.6 环境

三、实验内容 1、模型转换

例1.把传递函数模型转化为状态空间模型3248

G s =

81912s s s s ++++()。

解:程序如下

num=[4 8]; den=[1 8 19 12];

[A,B,C,D]=tf2ss(num,den); G=ss(A,B,C,D) 运行结果:

A =

-8 -19 -12 1 0 0 0 1 0 B = 1 0 0 C =

0 4 8 D =0 结果为

112233-8 -19 -1211 0 010 1 00x x x x u x x •••⎡⎤

⎢⎥⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥

⎦⎣⎦⎣⎦⎢⎥⎣⎦

, []1230 4 8x y x x ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦

例2.把状态空间模型转化为传递函数模型A=

0 1 0

0 0 1

-6 -11 -6

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

B=

1

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

C= []

2 3 0D=0。

解:程序如下:

clear

A=[0 1 0;0 0 1;-6 -11 -6];

B=[0;0;1];

C=[3 2 0];

D=0;

iu=1;

[num,den] = ss2tf(A,B,C,D,iu); sys=tf(num,den)

运行结果为:

Transfer function:

2 s + 3

----------------------

s^3 + 6 s^2 + 11 s + 6 2、状态方程状态解和输出解

例1.单位阶跃输入作用下的状态响应A=

0 1 0

0 0 1

-6 -11 -6

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

B=

1

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

C= []

2 3 0D=0。

解:输入程序如下:

clear

A=[0 1 0;0 0 1;-6 -11 -6];

B=[0;0;1];

C=[3 2 0];

D=0;

G=ss(A,B,C,D);[y,t,x]=step(G); plot(t,x(:,1),'r')

hold on

plot(t,x(:,2),'g')

hold on

plot(t,x(:,3),'b')

hold on

legend('x1','x2','x3')

运行结果如下:

例2.零输入作用下的状态响应A= 0 1 00 0 1-6 -11 -6⎡⎤

⎢⎥⎢⎥⎢⎥⎣⎦ B=

001⎡⎤

⎢⎥⎢⎥

⎢⎥⎣⎦

C= []2 3 0 D=0。

初始状态为010203143x x x ⎡⎤⎡⎤

⎢⎥⎢⎥

=⎢⎥⎢⎥⎢⎥⎢

⎥⎣⎦⎣⎦。

解:程序如下

clear close all

A=[0 1 0;0 0 1;-6 -11 -6]; B=[0;0;1]; C=[3 2 0]; D=0; x0=[1;4;3]; G=ss(A,B,C,D);

[y,t,x]=initial(G,x0); plot(t,x(:,1),'r') hold on

plot(t,x(:,2),'g') hold on

1234567

-0.050

0.05

0.1

0.15

0.2

单位阶跃输入作用下的状态响应

plot(t,x(:,3),'b') hold on

legend('x1','x2','x3')

title('零输入作用下的状态响应')结果如下:

3、系统能控性和能观性

例1:

判别系统的能控和能观性A= -3 1 00 -3 00 0 -1⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦

B= 0 02 -10 3⎡⎤

⎢⎥⎢⎥

⎢⎥⎣⎦

C= []2 3 0。

解:程序如下

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

co=ctrb(A,B); n=rank(co); ob=obsv(A,C); m=rank(ob); if((m==3)&&(n==3))

warndlg('系统既能控又能观!','能观能控性分析');

elseif((n==3)&&(m<3))

warndlg('系统能控不能观!','能观能控性分析'); elseif((n<3)&&(m==3))

零输入作用下的状态响应

相关文档
最新文档