自控实验报告一.docx

上传人:b****6 文档编号:7702990 上传时间:2023-01-25 格式:DOCX 页数:15 大小:140.59KB
下载 相关 举报
自控实验报告一.docx_第1页
第1页 / 共15页
自控实验报告一.docx_第2页
第2页 / 共15页
自控实验报告一.docx_第3页
第3页 / 共15页
自控实验报告一.docx_第4页
第4页 / 共15页
自控实验报告一.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

自控实验报告一.docx

《自控实验报告一.docx》由会员分享,可在线阅读,更多相关《自控实验报告一.docx(15页珍藏版)》请在冰豆网上搜索。

自控实验报告一.docx

自控实验报告一

实验1控制系统的模型建立

一、实验目的

1.掌握利用MATLAB建立控制系统模型的方法。

2.掌握系统的各种模型表述及相互之间的转换关系。

3.学习和掌握系统模型连接的等效变换。

二、实验原理

1.系统模型的MATLAB描述

系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。

这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的MATLAB描述方法。

1)传递函数(TF)模型

传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般

在MATLAB中,直接使用分子分母多项式的行向量表示系统,即

num=[bm,bm-1,…b1,b0]

den=[an,an-1,…a1,a0]

调用tf函数可以建立传递函数TF对象模型,调用格式如下:

Gtf=tf(num,den)

Tfdata函数可以从TF对象模型中提取分子分母多项式,调用格式如下:

[num,den]=tfdata(Gtf)返回cell类型的分子分母多项式系数

[num,den]=tfdata(Gtf,'v')返回向量形式的分子分母多项式系数

2)零极点增益(ZPK)模型

传递函数因式分解后可以写成

在MATLAB中,直接用[z,p,k]矢量组表示系统,其中z,p,k分别表示系统的零极点

及其增益,即:

z=[z1,z2,…,zm];

p=[p1,p2,…,pn];

k=[k];

调用zpk函数可以创建ZPK对象模型,调用格式如下:

Gzpk=zpk(z,p,k)

同样,MATLAB提供了zpkdata命令用来提取系统的零极点及其增益,调用格式如下:

[z,p,k]=zpkdata(Gzpk)返回cell类型的零极点及增益

[z,p,k]=zpkdata(Gzpk,’v’)返回向量形式的零极点及增益

函数pzmap可用于求取系统的零极点或绘制系统得零极点图,调用格式如下:

pzmap(G)在复平面内绘出系统模型的零极点图。

[p,z]=pzmap(G)返回的系统零极点,不作图。

3)状态空间(SS)模型

由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:

(1-3)

其中:

x为n维状态向量;u为r维输入向量;y为m维输出向量;A为n×n方阵,称为系统矩阵;B为n×r矩阵,称为输入矩阵或控制矩阵;C为m×n矩阵,称为输出矩阵;D为m×r矩阵,称为直接传输矩阵。

在MATLAB中,直接用矩阵组[A,B,C,D]表示系统,调用ss函数可以创建ZPK对象模型,调用格式如下:

Gss=ss(A,B,C,D)

同样,MATLAB提供了ssdata命令用来提取系统的A、B、C、D矩阵,调用格式如下:

[A,B,C,D]=ssdata(Gss)返回系统模型的A、B、C、D矩阵

4)三种模型之间的转换

上述三种模型之间可以互相转换,MATLAB实现方法如下

TF模型→ZPK模型:

zpk(SYS)或tf2zp(num,den)

TF模型→SS模型:

ss(SYS)或tf2ss(num,den)

ZPK模型→TF模型:

tf(SYS)或zp2tf(z,p,k)

ZPK模型→SS模型:

ss(SYS)或zp2ss(z,p,k)

SS模型→TF模型:

tf(SYS)或ss2tf(A,B,C,D)

SS模型→ZPK模型:

zpk(SYS)或ss2zp(A,B,C,D)

2.系统模型的连接

在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。

图1-2分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。

在MATLAB中可以直接使用“*”运算符实现串联连接,使用“+”运算符实现并联连接。

反馈系统传递函数求解可以通过命令feedback实现,调用格式如下:

T=feedback(G,H)

T=feedback(G,H,sign)

其中,G为前向传递函数,H为反馈传递函数;当sign=+1时,GH为正反馈系统传递函数;当sign=-1时,GH为负反馈系统传递函数;默认值是负反馈系统。

三、实验内容及结果

1.已知控制系统的传递函数如下

试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并

绘制系统零极点图。

代码:

>>num=[21840];

>>den=[1586];

>>Gtf=tf(num,den)

Gtf=

2s^2+18s+40

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

s^3+5s^2+8s+6

Continuous-timetransferfunction.

>>Gzpk=zpk(Gtf)

Gzpk=

2(s+5)(s+4)

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

(s+3)(s^2+2s+2)

Continuous-timezero/pole/gainmodel.

>>Gss=ss(Gzpk)

Gss=

a=

x1x2x3

x1-110

x2-1-12.515

x300-3

b=

u1

x10

x21.778

x31.414

c=

x1x2x3

y13.3741.1250

d=

u1

y10

Continuous-timestate-spacemodel.

>>pzmap(Gzpk);

gridon

零极点图:

2.已知控制系统的状态空间方程如下

试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并

绘制系统零极点图。

代码:

>>A=[0100;0010;0001;-1-2-3-4];

>>B=[0;0;0;1];

>>C=[10200];

>>D=[0];

>>Gss=ss(A,B,C,D)

Gss=

a=

x1x2x3x4

x10100

x20010

x30001

x4-1-2-3-4

b=

u1

x10

x20

x30

x41

c=

x1x2x3x4

y110200

d=

u1

y10

Continuous-timestate-spacemodel.

>>Gtf=tf(Gss)

Gtf=

2s+10

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

s^4+4s^3+3s^2+2s+1

Continuous-timetransferfunction.

>>Gzpk=zpk(Gss)

Gzpk=

2(s+5)

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

(s+3.234)(s+0.6724)(s^2+0.0936s+0.4599)

Continuous-timezero/pole/gainmodel.

>>pzmap(Gzpk);

gridon

零极点图:

3.已知三个系统的传递函数分别为

试用MATLAB求上述三个系统串联后的总传递函数。

代码:

>>num1=[265];

>>den1=[1452];

>>G1=tf(num1,den1)

G1=

2s^2+6s+5

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

s^3+4s^2+5s+2

Continuous-timetransferfunction.

>>num2=[141];

>>den2=[1980];

>>G2=tf(num2,den2)

G2=

s^2+4s+1

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

s^3+9s^2+8s

Continuous-timetransferfunction.

>>num3=[550105];

>>den3=[1113424];

>>G3=tf(num3,den3)

G3=

5s^2+50s+105

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

s^3+11s^2+34s+24

Continuous-timetransferfunction.

>>G=G1*G2*G3

G=

10s^6+170s^5+1065s^4+3150s^3+4580s^2+2980s+525

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

s^9+24s^8+226s^7+1084s^6+2905s^5+4516s^4+4044s^3+1936s^2+384s

Continuous-timetransferfunction.

4.已知如图E2-1所示的系统框图

试用MATLAB求该系统的闭环传递函数。

代码:

>>num1=[1];

>>den1=[11];

>>G1=tf(num1,den1)

G1=

1

-----

s+1

Continuous-timetransferfunction.

>>num2=[1];

>>den2=[0.51];

>>G2=tf(num2,den2)

G2=

1

---------

0.5s+1

Continuous-timetransferfunction.

>>num3=[3];

>>den3=[10];

>>G3=tf(num3,den3)

G3=

3

-

s

Continuous-timetransferfunction.

>>H=tf(num2,den2)

H=

1

---------

0.5s+1

Continuous-timetransferfunction.

>>G4=G1+G2

G4=

1.5s+2

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

0.5s^2+1.5s+1

Continuous-timetransferfunction.

>>G5=G4*G3

G5=

4.5s+6

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

0.5s^3+1.5s^2+s

Continuous-timetransferfunction.

>>T=feedback(G5,H)

T=

2.25s^2+7.5s+6

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

0.25s^4+1.25s^3+2s^2+5.5s+6

Continuous-timetransferfunction.

5.已知如图E2-2所示的系统框图

试用MATLAB求该系统的闭环传递函数。

代码:

>>num1=[10];

>>den1=[11];

>>G1=tf(num1,den1)

G1=

10

-----

s+1

Continuous-timetransferfunction.

>>num2=[2];

>>den2=[110];

>>G2=tf(num2,den2)

G2=

2

-------

s^2+s

Continuous-timetransferfunction.

>>num3=[13];

>>den3=[12];

>>H1=tf(num3,den3)

H1=

s+3

-----

s+2

Continuous-timetransferfunction.

>>num4=[50];

>>den4=[168];

>>H2=tf(num4,den4)

H2=

5s

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

s^2+6s+8

Continuous-timetransferfunction.

>>G3=feedback(G2,H1,+1)

G3=

2s+4

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

s^3+3s^2-6

Continuous-timetransferfunction.

>>G4=G1*G3

G4=

20s+40

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

s^4+4s^3+3s^2-6s-6

Continuous-timetransferfunction.

>>T=feedback(G4,H2)

T=

20s^3+160s^2+400s+320

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

s^6+10s^5+35s^4+44s^3+82s^2+116s-48

Continuous-timetransferfunction.

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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