现代控制理论实验指导书新.doc

上传人:b****9 文档编号:142280 上传时间:2022-10-04 格式:DOC 页数:12 大小:142KB
下载 相关 举报
现代控制理论实验指导书新.doc_第1页
第1页 / 共12页
现代控制理论实验指导书新.doc_第2页
第2页 / 共12页
现代控制理论实验指导书新.doc_第3页
第3页 / 共12页
现代控制理论实验指导书新.doc_第4页
第4页 / 共12页
现代控制理论实验指导书新.doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

现代控制理论实验指导书新.doc

《现代控制理论实验指导书新.doc》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书新.doc(12页珍藏版)》请在冰豆网上搜索。

现代控制理论实验指导书新.doc

《现代控制理论》实验指导书

实验设备

PC计算机1台(要求P4-1.8G以上),MATLAB6.X软件1套。

实验1系统的传递函数阵和状态空间表达式的转换

[实验目的]

1学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;

2通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。

[实验内容]

1设系统的模型如式(1.1)示。

(1.1)

其中A为n×n维系数矩阵、B为n×m维输入矩阵C为p×n维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。

系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。

(1.2)

式(1.2)中,表示传递函数阵的分子阵,其维数是p×m;表示传递函数阵的按s降幂排列的分母。

2实验步骤

①根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1.2),采用MATLA的file.m编程。

注意:

ss2tf和tf2ss是互为逆转换的指令;

②在MATLA界面下调试程序,并检查是否运行正确。

③[例1.1]已知SISO系统的状态空间表达式为(1.3),求系统的传递函数。

(1.3)

程序:

%首先给A、B、C阵赋值;

A=[010;001;-4-3-2];

B=[1;3;-6];

C=[100];

D=0;

%状态空间表达式转换成传递函数阵的格式为[num,den]=ss2tf(a,b,c,d,u)

[num,den]=ss2tf(A,B,C,D,1)

程序运行结果:

num=

01.00005.00003.0000

den=

1.00002.00003.00004.0000

从程序运行结果得到:

系统的传递函数为:

……………………..(1.4)

④[例1.2]从系统的传递函数(1.4)式求状态空间表达式。

程序:

num=[0153];%在给num赋值时,在系数前补0,使num和den赋值的个数相同;

den=[1234];

[A,B,C,D]=tf2ss(num,den)

程序运行结果:

A=

-2-3-4

100

010

B=

1

0

0

C=

153

D=

0

由于一个系统的状态空间表达式并不唯一,[例1.2]程序运行结果虽然不等于式(1.3)中的A、B、C阵,但该结果与式(1.3)是等效的。

不防对上述结果进行验证。

⑤[例1.3]对上述结果进行验证编程

%将[例1.2]上述结果赋值给A、B、C、D阵;

A=[-2-3-4;100;010];

B=[1;0;0];

C=[153];

D=0;

[num,den]=ss2tf(A,B,C,D,1)

程序运行结果与[例1.1]完全相同。

[实验要求]

在运行以上[例]程序的基础上,应用MATLAB对(1.5)系统仿照[例1.2]编程,求系统的A、B、C、阵;然后再仿照[例1.3]进行验证。

并写出实验报告。

(1.5)

提示:

num=[0012;0153];

实验2状态空间控制模型系统仿真及状态方程求解

[实验目的]

1、熟悉线性定常连续系统的状态空间控制模型的各种表示方法。

2、熟悉系统模型之间的转换功能。

3、利用MATLAB对线性定常系统进行动态分析

[实验内容]

1、给定系统,求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。

num=[1213];den=[10.521];

sys=tf(num,den);sys1=tf2zp(sys);sys2=tf2ss(sys);

impulse(sys2);step(sys2)

sys=tf(num,den)

Transferfunction:

s^3+2s^2+s+3

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

s^3+0.5s^2+2s+1

sys1=tf2zp(num,den)

sys1=

-2.1746

0.0873+1.1713i

0.0873-1.1713i

[a,b,c,d]=tf2ss(num,den)

a=-0.5000-2.0000-1.0000

1.000000

01.00000

b=1

0

0

c=1.5000-1.00002.0000

d=1

单位脉冲响应:

图1.1系统的单位脉冲响应

单位阶跃响应:

图1.2系统的单位阶跃响应

[实验要求]

1、进行模型间的相互转换。

2、绘出系统单位阶跃及脉冲曲线。

实验3能控能观判据及稳定性判据

[实验目的]

1、利用MATLAB分析线性定常系统的可控性与可观性。

2、利用MATLAB进行线性定常系统的李雅普诺夫稳定性判据。

[实验内容]

1、已知系统状态空间方程:

(1)

(2)

(3)

对系统进行可控性、可观性分析。

以第一题为例:

(1)a=[-1-22;0-11;10-1]

a=-1-22

0-11

10-1

>>b=[201]'

b=2

0

1

>>c=[120]

c=

120

>>Qc=ctrb(a,b)

Qc=200

010

11-1

rank(Qc)

ans=3,系统满秩,故系统能控。

rank(obsv(a,c))

ans=3,系统满秩,故系统能观。

(2)、(3)两题计算方法相同。

2、已知系统状态空间方程描述如下:

,,

试判定其稳定性,并绘制出时间响应曲线来验证上述判断。

A=[-10-35-50-24;1000;0100;0010];

B=[1;0;0;0];C=[172424];D=[0];

[z,p,k]=ss2zp(A,B,C,D,1);

Flagz=0;

n=length(A);

fori=1:

n

ifreal(p(i))>0%判断极点的实部是否大于0;

Flagz=1;

end

end

disp('系统的零极点模型为');z,p,k

系统的零极点模型为

z=

-2.7306+2.8531i

-2.7306-2.8531i

-1.5388

p=

-4.0000

-3.0000

-2.0000

-1.0000

k=

1.0000

ifFlagz==1

disp('系统不稳定');

elsedisp('系统是稳定的');

end

运行结果为:

系统是稳定的

step(A,B,C,D);

图2.1系统的阶跃响应

[实验要求]

1、判断系统的可控性,求解系统的变换矩阵Qc。

(可选一个习题)

2、判断系统可观测性,求解系统的变换矩阵Qo。

3、判断系统稳定性,绘制时间响应曲线。

实验4状态反馈及状态观测器的设计

[实验目的]

1、熟悉状态反馈矩阵的求法。

2、熟悉状态观测器设计方法。

[实验内容]

1、某控制系统的状态方程描述如下:

通过状态反馈使系统的闭环极点配置在P=[-30,-1.2,-2.44i]位置上,求出状态反馈阵K,并绘制出配置后系统的时间响应曲线。

>>A=[-10-35-50-24;1000;0100;0010];

>>B=[1;0;0;0];C=[172424];D=[0];

>>disp('原极点的极点为');

p=eig(A)'%求矩阵A的全部特征根;

>>disp('极点配置后的闭还系统为')

极点配置后的闭还系统为

>>sysnew=ss(A-B*K,B,C,D)

>>step(sysnew/dcgain(sysnew))

运算结果为:

原极点的极点为

p=

-4.0000-3.0000-2.0000-1.0000

>>P=[-30;-1.2;-2.4+sqrt(-16);-2.4-sqrt(-16)];

>>K=place(A,B,P)%对系统进行极点配置;

K=

26.0000172.5200801.7120759.3600

>>disp('配置后系统的极点为')

配置后系统的极点为

>>p=eig(A-B*K)'

p=

-30.0000-2.4000-4.0000i-2.4000+4.0000i-1.2000

a=

x1x2x3x4

x1-36-207.5-851.7-783.4

x21000

x30100

x40010

b=

u1

x11

x20

x30

x40

c=

x1x2x3x4

y1172424

d=

u1

y10

Continuous-timemodel.

图3.1极点配置后系统的阶跃响应

2、考虑下面的状态方程模型:

要求选出合适的参数状态观测器(设观测器极点为op=[-100;-102;-103])。

程序如下:

A=[010;9800-2.8;00-100];

B=[0;0;100];

C=[100];

D=[0];

op=[-100;-102;-103];

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

disp('原系统的闭还极点为');

p=eig(A)

n=length(A);

Q=zeros(n);

Q(1,:

)=C;

fori=2:

n

Q(i,:

)=Q(i-1,:

)*A;

end

m=rank(Q);

ifm==n

H=place(A',C',op')';

e

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

当前位置:首页 > 农林牧渔 > 水产渔业

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

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