现代控制理论实验指导书自动化Word格式文档下载.doc

上传人:聆听****声音 文档编号:3668320 上传时间:2023-05-02 格式:DOC 页数:115 大小:4.89MB
下载 相关 举报
现代控制理论实验指导书自动化Word格式文档下载.doc_第1页
第1页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第2页
第2页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第3页
第3页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第4页
第4页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第5页
第5页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第6页
第6页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第7页
第7页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第8页
第8页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第9页
第9页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第10页
第10页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第11页
第11页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第12页
第12页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第13页
第13页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第14页
第14页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第15页
第15页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第16页
第16页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第17页
第17页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第18页
第18页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第19页
第19页 / 共115页
现代控制理论实验指导书自动化Word格式文档下载.doc_第20页
第20页 / 共115页
亲,该文档总共115页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

现代控制理论实验指导书自动化Word格式文档下载.doc

《现代控制理论实验指导书自动化Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书自动化Word格式文档下载.doc(115页珍藏版)》请在冰点文库上搜索。

现代控制理论实验指导书自动化Word格式文档下载.doc

》den=[24622];

》sys=tf(num,den)

相应的

(2)系统的MATLAB程序为:

借助多项式乘法函数conv来处理:

》num=4*conv([1,2],conv([1,6,6],[1,6,6]));

》den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));

2、零极点增益模型

零极点增益模型为:

若已知系统的

其中:

K为系统增益,zi为零点,pj为极点。

则在MATLAB中零极点增益模型建立函数为:

sys=zpk(z,p,k)

z=[z1,z2,…,zm]

p=[p1,p2,...,pn]

K=[k]

例:

已知系统的零极点增益模型:

则在MATLAB中建立零极点增益模型的程序如下:

》z=[-3];

p=[-1,-2,-5];

k=6;

》sys=zpk(z,p,k)

3、状态空间模型

状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入—输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入—输出关系,揭示了系统内部状态对系统性能的影响。

若已知系统的状态空间模型为:

则在MATLAB中状态空间模型建立函数为:

sys=ss(A,B,C,D)。

已知系统的状态空间模型为:

系统为一个两输入两输出系统,则在MATLAB中状态空间模型建立程序如下:

》A=[16910;

31268;

47911;

5121314];

》B=[46;

24;

22;

10];

》C=[0021;

8022];

》D=zeros(2,2);

》sys=ss(A,B,C,D)

二、模型的转换

在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。

模型转换的函数包括:

(1)ss2tf:

状态空间模型转换为传递函数模型。

格式为:

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

(2)ss2zp:

状态空间模型转换为零极点增益模型。

[z,p,k]=ss2zp(a,b,c,d)

(3)tf2zp:

传递函数模型转换为零极点增益模型。

[z,p,k]=tf2zp(num,den)

(4)tf2ss:

传递函数模型转换为状态空间模型。

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

(5)zp2ss:

零极点增益模型转换为状态空间模型。

[a,b,c,d]=zp2ss(z,p,k)

(6)zp2tf:

零极点增益模型转换为传递函数模型。

[num,den]=zp2tf(z,p,k)

三、模型的连接

1、并联:

parallel

格式:

[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)

%并联连接两个状态空间系统。

[num,den]=parallel(num1,den1,num2,den2)

%将并联连接的传递函数进行相加。

2、串联:

series

[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)

%串联连接两个状态空间系统。

[num,den]=series(num1,den1,num2,den2)

%将串联连接的传递函数进行相乘。

3、反馈:

feedback

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)

%将两个系统按反馈方式连接,一般而言,系统1为对象,系统2为反馈控制器。

[num,den]=feedback(num1,den1,num2,den2,sign)

%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。

sign的含义与前述相同。

4、闭环:

cloop(单位反馈)

[ac,bc,cc,dc]=cloop(a,b,c,d,sign)

%通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。

当sign=1时采用正反馈;

当sign=-1时采用负反馈;

sign缺省时,默认为负反馈。

[numc,denc]=cloop(num,den,sign)

%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。

举例应用:

已知系统1和系统2分别为:

求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。

程序如下:

》clc

》clear

》a1=[01;

-1-2];

b1=[0;

1];

c1=[13];

d1=[1];

》a2=[01;

-1-3];

b2=[0;

c2=[14];

d2=[0];

》disp('

串联连接'

》[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)

并联连接'

》[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)

正反馈连接'

》[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,+1)

负反馈连接'

》[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)

单位负反馈连接'

》[a,b,c,d]=cloop(a1,b1,c1,d1)

[实验内容]

1、熟悉MATLAB的基本操作命令,查看控制系统工具箱的主要命令及功能;

(提示:

在命令窗口输入helpcontrol按回车)

2、已知四个系统的传递函数分别为:

在MATLAB环境下建立它们的系统模型,直接用传递函数模型来表达,并将其转换成零极点模型和状态空间模型。

将用到conv)

3、求第二题中前三个系统串联、并联后的数学模型,并且求前三个系统的闭环系统(反馈环节是H(s)的数学模型。

用series、parallel、feedback)

4、建立下面多变量系统的传递函数模型。

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

[实验目的]

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

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

一、设系统的模型如式(2.1)所示。

(2.1)

其中A为n×

n维系数矩阵、B为n×

m维输入矩阵C为p×

n维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。

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

(2.2)

式(2.2)中,表示传递函数阵的分子阵,其维数是p×

m;

表示传递函数阵的按s降幂排列的分母。

二、实验步骤

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

注意:

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

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

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

(2.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

从程序运行结果得到:

系统的传递函数为:

……………………..(2.4)

④[例2.2]从系统的传递函数(2.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

C=

153

D=

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

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

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

%将[例2.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)

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

1、在运行以上[例]程序的基础上,应用MATLAB对(2.5)系统仿照[例2.2]编程,求系统的A、B、C、阵;

然后再仿照[例2.3]进行验证。

(2.5)

提示:

num=[0012;

0153];

2、在MATLAB下建立下面系统的状态空间模型。

3、若对上述系统实行非奇异变换,且已知变换阵为T=,求其变换后的状态空间描述。

(提示;

Tsys=ss2ss(sys1,T)

4、建立下述系统的状态空间模型,并将其转换成传递函数模型和零极点增益模型。

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

[实验目的]

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=-0.5000-2.0000-1.0000

1.000000

01.00000

b=1

c=1.5000-1.00002.0000

d=1

单位脉冲响应:

图3.1系统的单位脉冲响应

单位阶跃响应:

图3.2系统的单位阶跃响应

2、已知离散系统状态空间方程:

采样周期。

在域和连续域对系统性能进行仿真、分析。

g=-1-3-2

020

012

>

h=2

-1

c=100

d=0

u=1;

dstep(g,h,c,d,u)

Z域性能仿真图形:

图3.3离散系统的阶跃响应

sysd=ss(g,h,c,d,0.05)

a=x1x2x3

x1-1-3-2

x2020

x3012

b=x12

x21

x3-1

c=x1x2x3

y1100

d=u1

y10

Samplingtime:

0.05

Discrete-timemodel.

sysc=d2c(sysd,'

zoh'

a=x1x2x3x4

x1-9.467e-008-17.45-9.242-62.83

x24.281e-01513.863.115e-0152.733e-015

x3-1.41e-0141013.86-1.396e-014

x462.8348.8741.899.467e-008

b=u1

x11.035

x213.86

x3-17.73

x4-66.32

c=x1x2x3x4

y11000

step(sysc);

连续域仿真曲线:

图3.4离散系统转连续系统后的阶跃响应

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

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

3、已知系统矩阵A=,输入矩阵B=,且,C=[10],单输入u(t)为单位阶跃函数,试求系统的状态响应和输出响应。

用lsim命令,格式为:

[y,x]=lsim(A,B,C,D,输入表达式,初始状态))

4、对于如下状态空间方程:

求系统的阶跃响应y(k),x1(k)和x2(k)。

实验四用MATLAB求线性系统响应的方法

1、了解控制系统工具箱的组成、特点及应用;

2、掌握线性定常系统状态转移矩阵的计算;

3、掌握线性系统状态空间描述的规范型的求法;

4、掌握求线性定常连续和离散系统状态响应和输出响应的方法。

[实验指导]

1求取线性连续系统的阶跃响应函数为(step)

基本格式为:

step(sys)

step(num,den)

step(A,B,C,D)

2求取线性连续系统的单位脉冲响应(impulse)

3求取线性连续系统的零初始响应(initial)

4求取线性连续系统对任意输入的响应(lsim)

5求取线性连续系统的阶跃响应函数为(dstep)

dstep(sys)

dstep(num,den)

dstep(A,B,C,D)

6求取线性连续系统的单位脉冲响应(dimpulse)

7求取线性连续系统的零初始响应(dinitial)

8求取线性连续系统对任意输入的响应(dlsim)

对一系统,其开环传递函数为,求系统的阶跃响应和脉冲响应。

sys=zpk([-2,-1],[0,-3,-4,-4],2)

sys1=tf(sys)转换成传递函数模型

step(sys1)求系统的阶跃响应

impulse(sys1)求系统的脉冲响应

9、具有离散系统状态空间方程的系统动态响应设计

离散系统的状态空间方程为,求其动态响应可用下述步骤:

(1)[num,den]=ss2tf(G,H,C,D)

(2)y=filter(num,den,u)

(3)[num1,den1]=ss2tf(G,H,F,D)

x1=filter(num1,den1,u)F=[10]

(4)[num2,den2]=ss2tf(G,H,J,D)

x2=filter(num2,den2,u)J=[01]

对于如下状态空间方程:

MATLAB程序清单:

G=[01;

-0.16–1];

H=[0;

C=[1.161];

D=[0];

F=[10];

J=[01];

[num,den]=ss2tf(G,H,C,D);

k=0:

50;

u=ones(1,51);

y=filter(num,den,u);

plot(k,y,’g-‘),grid;

xlabel(‘k’);

ylabel(‘y(k)’)

axis([03001.2]);

[num1,den1]=ss2tf(G,H,F,D);

x1=filter(num1,den1,u);

figure;

plot(k,x1,’g-‘),grid;

ylabel(‘x1(k)’)

axis([030–0.31.3]);

[num2,den2]=ss2tf(G,H,J,D);

x2=filter(num2,den2,u);

plot(k,x2,’g-‘),grid;

ylabel(‘x2(k)’)

end

补充:

离散系统输入函数的输入形式

(1)脉冲函数:

u(0)=1,u(k)=0(k=1,2,3,…)

若k=1,2,3,…,60,则在MATLAB程序中可以写成:

u=[1zeros(1,60)]

若脉冲幅值是8,则u=[8zeros(1,60)]

(2)阶跃输入:

u(k)=1(k=0,1,2,…)

若k=0,2,3,…,100,则在MATLAB程序中可以写成:

u=[1ones(1,100)]

或u=ones(1,101),

若幅值为5,则u=5*ones(1,101)

(3)单位斜坡输入:

u=t(t>

=0),在离散系统中t=kT,(k=0,2,3,…),则在MATLAB程序中可以写成:

k=0:

u=(k*T);

如:

T=0.2s,k=50,则有k=0:

u=(k*0.2);

(4)加速度输入:

u(k)=(k=0,1,2,3,…)

如:

k=10,T=0.2s时,MATLAB程序为:

10;

u=[0.5*(0.2*k).^2];

1、已知系统矩阵为A=,试用化矩阵A为对角线规范型方法求系统的状态转移矩阵。

先用eig()函数求A的特征值,然后求非奇异变

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

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2