北理工自动控制理论实验报告.docx





《北理工自动控制理论实验报告.docx》由会员分享,可在线阅读,更多相关《北理工自动控制理论实验报告.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科实验报告实验名称: 控制理论基础(实验) 课程名称:控制理论基础实验时间:2016.4.25-5.19任课教师:王卫江实验地点:10-906 实验教师:闫宇松实验类型: 原理验证 综合设计 自主创新学生姓名:王雅珊学号/班级:1120131319/05111361组 号:学 院:信息与电子学院同组搭档:专 业:信息工程菁英班成 绩:实验一:控制系统的模型建立一、 实验目的1. 掌握利用MATLAB 建立控制系统模型的方法。2. 掌握系统的各种模型表述及相互之间的转换关系。 3. 学习和掌握系统模型连接的等效变换。二、实验原理1、系统模型的 MATLAB描述 系统的模型描述了系统的输入、输出
2、变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(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
3、对象模型中提取分子分母多项式,调用格式如下: num,den = tfdata(Gtf) 返回cell 类型的分子分母多项式系数 num,den = tfdata(Gtf,v) 返回向量形式的分子分母多项式系数2) 零极点增益(ZPK)模型 传递函数因式分解后可以写成 式中, z1 , z2 , ,zm 称为传递函数的零点, p1,p2,pn称为传递函数的极点,k 为传递系数(系统增益)。 在MATLAB 中,直接用z,p,k矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即: z=z1,z2,zm; p=p1,p2,pn; k=k; 调用zpk 函数可以创建ZPK 对象模型,调
4、用格式如下: 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)模型 由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成: 其中:x 为n
5、维状态向量;u 为r 维输入向量; y 为m 维输出向量; A 为nn 方阵,称为系统矩阵; B 为nr 矩阵,称为输入矩阵或控制矩阵;C 为mn 矩阵,称为输出矩阵; D为mr 矩阵,称为直接传输矩阵。 在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
6、 实现方法如下 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、 系统模型的连接 在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。下图分别为串联连接、并联连接和反馈连接的结构框图和
7、等效总传递函数。 在MATLAB 中可以直接使用“*”运算符实现串联连接,使用“”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下: T = feedback(G,H) T = feedback(G,H,sign) 其中,G 为前向传递函数,H 为反馈传递函数;当sign = +1 时,GH 为正反馈系统传递函数;当sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。 三、 实验内容1、 已知控制系统的传递函数如下 试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。 实验代码:num
8、=2 18 40; den=1 5 8 6; %描述系统的传递函数模型的分子分母多项式系数向量Gtf=tf(num,den) ;%调用tf函数建立系统模型Gzpk=zpk(Gtf) ; %调用zpk函数,实现从函数模型到零极点增益模型的转换Gss=ss(Gtf) ; %调用ss函数建立系统模型pzmap(Gzpk); grid on; 实验结果: (1) 首先建立系统的传递函数模型描述,上述程序的运行结果为: Gtf = 2 s2 + 18 s + 40 s3 + 5 s2 + 8 s + 6(2) 零极点增益模型为:Gzpk = 2 (s+5) (s+4) (s+3) (s2 + 2s +
9、2)(3) 系统的状态空间方程模型Gss = a = x1 x2 x3 x1 -5 -2 -1.5 x2 4 0 0 x3 0 1 0 b = u1 x1 4 x2 0 x3 0 c = x1 x2 x3 y1 0.5 1.125 2.5 d = u1 y1 0(4)系统零极点图2、 已知控制系统的状态空间方程如下 试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。 实验代码: a=0 1 0 0;0 0 1 0;0 0 0 1;-1 -2 -3 -4; b=0;0;0;1; c=10 2 0 0; d=0; %写出系统的A、B、C、D矩阵G
10、ss=ss(a,b,c,d); %调用ss函数建立系统模型Gtf=tf(Gss) ; %调用tf函数建立系统模型Gzpk=(Gss); %调用zpk函数,实现从函数模型到零极点增益模型的转换pzmap(Gzpk); grid on;实验结果: (1) 系统矩阵 aa = 0 1 0 0 0 0 1 0 0 0 0 1 -1 -2 -3 -4 bb = 0 0 0 1 cc = 10 2 0 0 dd = 0(2) 再创建ZPK对象模型:Gzpk = a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -1 -2 -3 -4 b = u1 x1
11、 0 x2 0 x3 0 x4 1 c = x1 x2 x3 x4 y1 10 2 0 0 d = u1 y1 0(3) 传递函数:Gtf = 2 s + 10 s4 + 4 s3 + 3 s2 + 2 s + 1(4) 零极点图:3、 已知三个系统的传递函数分别为 试用MATLAB 求上述三个系统串联后的总传递函数。 实验代码:num1=2 6 5;den1=1 4 5 2; %描述系统的传递函数模型的分子分母多项式系数向量G1=tf(num1,den1) ; %调用tf函数建立系统模型num2=1 4 1; den2=1 9 8 0; %同上G2=tf(num2,den2) ; %同上z=
12、-3 -7; p=-1 -4 -6; k=5; %用z,p,k矢量组表示系统G3=zpk(z,p,k) ; %调用zpk函数,实现从函数模型到零极点增益模型的转换G=G1*G2*G3实验结果: G1 = 2 s2 + 6 s + 5 s3 + 4 s2 + 5 s + 2Continuous-time transfer function. G2G2 = s2 + 4 s + 1 s3 + 9 s2 + 8 sContinuous-time transfer function. G3G3 = 5 (s+3) (s+7) (s+1) (s+4) (s+6)Continuous-time zero/
13、pole/gain model. GG = 10 (s+3.732) (s+3) (s+7) (s+0.2679) (s2 + 3s + 2.5) s (s+8) (s+6) (s+4) (s+2) (s+1)44、 已知如下图所示的系统框图 试用MATLAB 求该系统的闭环传递函数。 实验代码:num1=1; den1=1 1; %描述系统的传递函数模型的分子分母多项式系数向量G1=tf(num1,den1) ; %调用tf函数建立系统模型num2=1; den2=0.5 1; %同上G2=tf(num2,den2); %同上num3=3; den3=1 0; G3=tf(num3,den3
14、);H=G2; G=(G1+G2)*G3; Gtf=feedback(G,H,-1) 实验结果Gtf = 2.25 s2 + 7.5 s + 6 0.25 s4 + 1.25 s3 + 2 s2 + 5.5 s + 65、 已知如下图所示的系统框图实验代码:num1=10; den1=1 1; %描述系统的传递函数模型的分子分母多项式系数向量G1=tf(num1,den1) ; %调用tf函数建立系统模型num2=2; den2=1 1 0; G2=tf(num2,den2); num3=1 3; den3=1 2; H2=tf(num3,den3); num4=5 0; den4=1 6 8
15、; H1=tf(num4,den4); G=G1*feedback(G2,H2,+1); Gtf=feedback(G,H1,-1) 实验结果:Gtf = 20 s3 + 160 s2 + 400 s + 320 s6 + 10 s5 + 35 s4 + 44 s3 + 82 s2 + 116 s - 48四、 实验体会本次实验比较基础,学习如何用matlab创建传递函数模型,并得到对应的零极点模型和状态空间方程。在理论课上学习的内容,通过软件matlab让我更直观的感受传函的几种描述方式,还有各个模式之间的转换关系。 实验2 控制系统的暂态特性分析一、实验目的1. 学习和掌握利用 MATLA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北理工 自动控制 理论 实验 报告

限制150内