MATLAB控制系统仿真实验报告.pdf

上传人:w**** 文档编号:72138900 上传时间:2023-02-08 格式:PDF 页数:31 大小:1.43MB
返回 下载 相关 举报
MATLAB控制系统仿真实验报告.pdf_第1页
第1页 / 共31页
MATLAB控制系统仿真实验报告.pdf_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《MATLAB控制系统仿真实验报告.pdf》由会员分享,可在线阅读,更多相关《MATLAB控制系统仿真实验报告.pdf(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、清华大学自动化工程学院清华大学自动化工程学院实验报告实验报告课程:课程:控制系统仿真控制系统仿真专业专业 自动化班级班级 122姓名姓名学号学号指导教师:指导教师:时间时间:2015 年年 10 月月 19 日日 10 月月 28 日日目目 录录实验一 MATLAB 环境的熟悉与基本运算1实验二 MATLAB 语言的程序设计6实验三 MATLAB 的图形绘制9实验四 采用 SIMULINK 的系统仿真 14实验五 控制系统的频域与时域分析17实验六 控制系统 PID 校正器设计法23实验一实验一 MATLAB MATLAB 环境的熟悉与基本运算环境的熟悉与基本运算一、实验时间及地点:一、实验时

2、间及地点:实验时间:2015.10.19 上午 8:309:30实验地点:计算中心二、实验目的:二、实验目的:1 熟悉 MATLAB 开发环境2掌握矩阵、变量、表达式的各种基本运算三、实验内容:三、实验内容:1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动 MATLAB6.5,将该文件夹添加到 MATLAB 路径管理器中。3、保存,关闭对话框4、学习使用 help 命令,例如在命令窗口输入 help eye,然后根据帮助说明,学习使用指令 eye(其它不会用的指令,依照此方法类推)5、学习使用 clc、clear,观察 command window、command histo

3、ry 和 workspace 等窗口的变化结果。6、初步程序的编写练习,新建 M-file,保存(自己设定文件名,例如 exerc1、exerc2、exerc3),学习使用 MATLAB 的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次注意:每一次 M-fileM-file 的修改后,都要存盘。的修改后,都要存盘。练习练习 A A:(1)help rand,然后随机生成一个 26 的数组,观察 command window、commandhistory 和 workspace 等窗口的变化结果(2)学习使用 clc、clear,了解其功能和作用(3)输入一个 2 维数值

4、数组,体会标点符号的作用(空格和逗号的作用)。(4)一维数组的创建和寻访,创建一个一维数组(18)X,查询 X 数组的第 2 个元素,查询 X 数组的第 3 个元素到第 6 个元素,查询 X 数组的第 5 个元素到最后一个元素,查询 X 数组的第 3、2、1 个元素,查询 X 数组中5 元素,将 X 数组的第 2 个元素重新赋值为 111,实例 expm1。(5)二维数组的创建和寻访,创建一个二维数组(48)A,查询数组 A 第 2 行、第3 列的元素,查询数组 A 第 2 行的所有元素,查询数组 A 第 6 列的所有元素,查询数组 A 按列拉长形成新的数组 B(18),查询数组 A 按行拉长

5、形成新的数组C(18),以全元素赋值的方式对数组A 赋值。(6)两种运算指令形式和实质内涵的比较。设有3 个二维数组 A24,B24,C22,写出所有由 2 个数组参与的合法的数组运算和矩阵指令(7)学习使用表 8 列的常用函数(通过 help 方法)(8)学习使用表 9 数组操作函数(9)学习字符串的创建,a=This is an example.串数组的大小 size(a)串数组的元素标识a14=a(1:4)ra=a(end:-1:1)对字符串 ASCLL 码的数组操作w=find(a=a&ahelp rand%用 help 指令学习 rand 的用法rand-Uniformly dist

6、ributed pseudorandom numbers This MATLAB function returns a pseudorandom scalar drawn from thestandard uniform distribution on the open interval(0,1).r=rand r=rand(n)r=rand(sz1,.,szN)r=rand(sz)r=rand(classname)r=rand(n,classname)r=rand(sz1,.,szN,classname)r=rand(sz,classname)r=rand(like,p)r=rand(n,l

7、ike,p)r=rand(sz1,.,szN,like,p)r=rand(sz,like,p)rand(2,6)%随机生成一个 26 的数组ans=0.8147 0.1270 0.6324 0.2785 0.9575 0.15760.9058 0.9134 0.0975 0.5469 0.9649 0.9706 clear%清除命令窗口 1 2;3 4%输入一个二维数组ans=1 2 3 4 1,2;3,4%将空格改为逗号效果一致ans=1 2 3 4 a=1 2 3 4;5 6 7 8;b=a(2:2,3:4)%逗号前面是行,后面是列,冒号前后的数表示所选范围b=7 8 eye(3)%产生单

8、位矩阵ans=1 0 0 0 1 0 0 0 1 magic(3)%产生魔方矩阵ans=8 1 6 3 5 7 4 9 2 flipud(ans)ans=4 9 2 3 5 7 8 1 6 rot90(ans)%ans=2 7 6 9 5 1 4 3 8 a=helloa=hello%以数组“水平中线”为对称轴,交换上下对称位置上的元素逆时针旋转数组 90 b=size(a)%字符串 a 的大小为 1x5b=1 5 syms x y p k a b c%创建符号对象 e1=x2*a*c*y+a*p*x2+b*p*x+c*k*y+k*p%创建函数命令e1=k*p+a*p*x2+c*k*y+b*p

9、*x+a*c*x2*y e2=c*y+pe2=p+c*y e1/e2ans=(k*p+a*p*x2+c*k*y+b*p*x+a*c*x2*y)/(p+c*y)a=1 2a=1 2 c=reshape(a,2,1)%改变数组 a 的行数和列数c=1 2五、实验结果及讨论五、实验结果及讨论 1.熟悉了 MATLAB 的基本软件操作。2.通过本次实验熟悉了 MATLAB 的开发环境掌握了矩阵、变量、表达式的各种运算了解了*与.*、/与、与.等区别以及绝对值、开方 e 的阶乘、正弦、正切的运算的符号。3.让我明白了 MATLAB 的实用性。实验二实验二 MATLAB MATLAB 语言的程序设计语言的

10、程序设计一、实验时间及地点:一、实验时间及地点:实验时间:2015.10.19 上午 8:309:30实验地点:黄岛老校区计算中心二、实验目的:二、实验目的:1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值三、实验内容:三、实验内容:练习 A1、熟悉 MATLAB 程序编辑与设计环境2、用 for 循环语句实现求 1100 的和3、用 for 循环语句实现编写一个求n阶乘的函数文件练习 B思考题4、已知一维数组A 2,4,5,8,10、B 4,9,6,7,4,用 for 循环语句实现A Bii1nni

11、1。求和函数可用sum()5、(1)编写求解一维数组平均值的函数文件。(2)编写求解二维数组平均值的函数文件。四、实验操作过程(实验说明)四、实验操作过程(实验说明)1 用 for 循环语句实现求 1100 的和,函数名为 theSec().程序:a=0;for i=1:100 a=i+a;endfprintf(%dn,a)执行结果:theSec%求1100 的和50502 用 for 循环语句实现编写一个求n阶乘的函数文件,函数名为jiex(x).程序:function jiex(x)a=1;for i=1:x a=a*i;endfprintf(%dn,a)执行结果:jiex(4)%求 4

12、的阶乘243.已知一维数组A 2,4,5,8,10、B 4,9,6,7,4,用 for 循环语句实现求和,函数名用 ABsum()程序:function y=ABsum()a=2,4,5,8,10;b=4,9,6,7,4;n=5;sum=0;for i=1:n sum=sum+a(1,i)*b(1,n-i+1);endy=sum;A Bii1nni1。执行结果:ABsum()ans=1784.编写求解任意数组平均值的函数文件,函数名为avg(f).程序:function y=avg(f)m,n=size(f);sum=0;for i=1:mfor j=1:n sum=sum+f(i,j);en

13、dendy=sum/(m*n);执行结果:a=1,2,3,4;5,6,7,8%定义一个数组a=1 2 3 4 5 6 7 8 avg(2*a)%求数组 2*a 的平均值ans=9五、实验结果及讨论五、实验结果及讨论1.编程语句:循环语句有 for 循环和 while 循环,我习惯使用 for 循环,使用格式如下:for 循环变量=表达式 1(初值):表达式 2(增量):表达式 3(终值)end循环语句组条件判断语句 if 语句格式为:if表达式end执行语句实验三实验三 MATLAB MATLAB 的图形绘制的图形绘制一、实验时间及地点:一、实验时间及地点:实验时间:2015.10.21 上午

14、 8:309:30实验地点:黄岛老校区计算中心二、实验目的:二、实验目的:1、学习 MATLAB 图形绘制的基本方法;2、熟悉和了解 MATLAB 图形绘制程序编辑的基本指令;3、熟悉掌握利用 MATLAB 图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4、掌握 plot、subplot 的指令格式和语法。三、实验内容:三、实验内容:练习 A【1】二维曲线绘图基本指令演示。t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)10.80.60.40.20-0.2-0.4-0.6-0.8-101234567 plot 指令基本操作演示【2】用图

15、形表示连续调制波形ysin(t)sin(9t)及其包络线。t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1)10.80.60.40.20-0.2-0.4-0.6-0.8-100.511.522.53【3】通过绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较广。请耐心读、实际做、再看例后说明,定会有匪浅收益。clf;t=6*pi*(0:100)/100;y=1-exp(

16、-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)0.05);ts=max(tt);plot(t,y,r-,LineWidth,3)axis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)grid ontitle(it y=1-e-alphatcosomegat)text(13.5,1.2,fontsize12alpha=0.3)text(13.5,1.1,fontsize12omega=0.7)hold on;plot(ts,0.95,bo,MarkerSize,10);

17、hold offcell_string1=fontsize12uparrow;cell_string2=fontsize16 fontname隶书镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s=num2str(ts);text(ts,0.85,cell_string)xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)y=1-e-atcoswt1.2843a=0.3w=0.71.051y?0.95?镇定时间ts=9.61336.283212.566

18、418.8496t?二阶阶跃响应图的标识四、实验操作过程(实验说明)四、实验操作过程(实验说明)1.二维曲线绘图基本指令演示:t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)执行结果:(图 3-1)图 3-12.用图形表示连续调制波形ysin(t)sin(9t)及其包络线:t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1)执行结果:(图

19、 3-2)图 3-23.通过绘制二阶系统阶跃响应,综合演示图形标识:clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)0.05);ts=max(tt);plot(t,y,r-,LineWidth,3)axis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)grid ontitle(it y=1-e-alphatcosomegat)text(13.5,1.2,fontsize12alpha=0.3)text(13.

20、5,1.1,fontsize12omega=0.7)hold on;plot(ts,0.95,bo,MarkerSize,10);hold offcell_string1=fontsize12uparrow;cell_string2=fontsize16 fontname隶书镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s=num2str(ts);text(ts,0.85,cell_string)xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)执

21、行结果:(图 3-3)图 3-3五、实验结果及讨论五、实验结果及讨论 1,通过这次实验,我学会了 MATLAB 图形绘制的基本方法,掌握 了 MATLAB图形绘制程序编辑的基本指令,而且还懂得了利用 MATLAB 图形编辑窗口编辑和修改图形界面,并添加图形的各种标 注。2,感觉到了 MATLAB 的强大,而且很实用。实验四实验四 采用采用 SIMULINKSIMULINK 的系统仿真的系统仿真一、实验时间及地点:一、实验时间及地点:实验时间:2015.10.21 上午 8:309:30实验地点:黄岛老校区计算中心二、实验目的:二、实验目的:1、熟悉 SIMULINK 工作环境及特点2、掌握线性

22、系统仿真常用基本模块的用法3、掌握 SIMULINK 的建模与仿真方法4、子系统的创建和封装设计1、实验内容:实验内容:练习 A1、SIMULINK 仿真实际应用,建立双环调速的电流环系统的方框图模型,模型参数设为 Ks=44;Ts=0.00167;Ta=0.017;R=1;Tm=0.075;Ce=0.1925;Kt=0.01178;T1=0.049;T2=0.088,(1)在 Simulink 集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线(2)计算仿真结果的超调量、上升时间、调节时间、稳态误差。Ti,Td用使

23、系统满足超调量 15%,(3)设计 PID 调节器替代图中的比例积分调节器,调节KP,上升时间 0.3s,调节时间 0.4s 的要求。(4)要求对加入的 PID 控制器封装成一个模块使用封装步骤 1 创建子系统封装步骤 2 封装子系统封装步骤 3 设置参数封装步骤 4 修改和设计模块图标四、实验操作过程(实验说明)四、实验操作过程(实验说明)1.画出双环调速的电流环系统的方框图模型,并在Simulink 集成环境下建立模型:(图4-1)图 4-12.绘制相应的响应曲线:(图4-2)图 4-2五、实验结果及讨论五、实验结果及讨论1、SIMULINK 的基本操作:1)启动 SIMULINK 软件包

24、:可以在MATLAB 命令窗口键入“SIMULINK”命令,回车后将弹出 SIMULINK 图形库浏览器(SIMULINK LIBRARY BREWSER)界面,也可以选择“SIMULINKLIBRARY BREWSER”同样可以打开该界面;2)SIMULINK 用户接口:SIMULINK 仿真模型编译器界面有菜单栏、工具栏、状态栏等,通过这些接口可以调整仿真运行时间,仿真模式等,可以查看仿真运行进度等信息。3)构建 SIMULINK 框图:用鼠标将模块库中的所需的模块拖至系统模型中,然后添加连线将各个模块连接起来,模型中可以包含WORKSPACE 中已定义的变量;4)运行:点击仿真模型编译器

25、界面中的运行按钮,系统会在输入信号的作用下输出,通过 SCOPE 模块可以查看输出响应曲线,通过 TO WORKSPACE 模块可以将输出及时间信号送至工作区。实验五实验五 控制系统的频域与时域分析控制系统的频域与时域分析一、实验时间及地点:一、实验时间及地点:实验时间:2015.10.28 上午 8:30-9:30实验地点:黄岛老校区计算中心二、实验目的:二、实验目的:1、掌握控制系统数学模型的基本描述方法和相互转化2、了解控制系统的稳定性分析方法3、掌握控制系统频域与时域分析基本方法三、实验内容:三、实验内容:练习 A:1、表示下列传递函数模型,并转化成其他的数学模型4(s 2)(s26s

26、 6)2(1)G(s)332s(s 1)(s 3s 2s 5)(2)G(s)(3)G(s)4s 2s3 2s 51(2s 1)(s 2)01 x101x1 2x1ux2(4)2x1y 01x22、一个单位负反馈开环传递函数为Gsks0.5s 14s 1试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益k及其所有极点的位置四、实验操作过程(实验说明)四、实验操作过程(实验说明)num=4,-2num=4 -2 den=1 0 2 5den=1 0 2 5 Gs=tf(num,den)Gs=4 s-2 -s3+2 s+5Continuous-time transfer functi

27、on.num=0.5;den=1 2.5 1;Gs=tf(num,den)Gs=0.5 -s2+2.5 s+1Continuous-time transfer function.k=1;num=k;den=2 4.5 1 0;Gs=tf(num,den)Gs=1 -2 s3+4.5 s2+sContinuous-time transfer function.Ms=Gs/(Gs+1)Ms=2 s3+4.5 s2+s -4 s6+18 s5+24.25 s4+11 s3+5.5 s2+sContinuous-time transfer function.rlocus(Ms)%绘制系统闭环的根轨迹图

28、(图5-1)图 5-1 pzmap(Ms)%绘制零极点图(5-2)图 5-2 p,z=pzmap(Ms)p=0.0000+0.0000i -2.1254+0.0000i -2.0000+0.0000i -0.0623+0.4810i -0.0623-0.4810i -0.2500+0.0000iz=0 -2.0000 -0.2500 k,poles=rlocfind(Ms)Select a point in the graphics windowselected_point=0.5795+0.4927ik=4.1162poles=0.0000+0.0000i -2.4675+0.0000i -

29、2.0000+0.0000i 0.1088+1.0124i 0.1088-1.0124i -0.2500+0.0000i五、实验结果及讨论五、实验结果及讨论1.MATLAB 通过函数 tf(num,den)建立传递函数模型,通过 zpk(z,p,k)建立零极点增益模型,通过 ss(A,B,C,D)建立连续系统状态空间模型;2.MATLAB 通过 ss2tf(),ss2zp(),tf2ss(),tf2zp(),zp2ss(),zp2tf()等函数将传递函数模型、零极点增益模型、状态空间模型等模型互相转换;3.通过函数 rlocus(sys)可绘制系统 sys 的根轨迹图,通过 pzmap(sys

30、)可绘制系统 sys的零极点图,通过k,poles=rlocfind(Ms)在根轨迹图上任选一点可计算出该点的增益k 及所有极点的位置。实验六实验六 控制系统控制系统 PIDPID 校正器设计法校正器设计法一、实验时间及地点:一、实验时间及地点:实验时间:2015.10.28 上午 8:30-9:30实验地点:黄岛老校区计算中心二、实验目的:二、实验目的:1、熟悉常规 PID 控制器的设计方法2、掌握 PID 参数的调节规律3、学习编写程序求系统的动态性能指标三、实验内容:三、实验内容:1、在 SIMULINK 窗口建立如下模型2、设计 PID 控制器,传递函数模型如下1Gc(s)Kp1T s

31、DT si3、修改 PID 参数Kp、Ti和Td,讨论参数对系统的影响4、利用稳定边界法对 PID 参数Kp、Ti和Td校正设计5、根据 PID 参数Kp、Ti和Td对系统的影响,调节 PID 参数实现系统的超调量小于10%四、实验操作过程(实验说明)四、实验操作过程(实验说明)1.在 SIMULINK 窗口建立如下模型:(图6-1)图 6-12.设计 PID 控制器:(图 6-2)图 6-23.利用稳定边界法对 PID 参数Kp、Ti和Td校正设计:参数数值校正后的响应曲线:(图6-3)Km23.208Tm0.0286Kp13.693Ti0.0143Td0.00358图 6-34.调节 PI

32、D 参数实现系统的超调量小于10%:参数数值Kp23.305Ti0.035Td0.00875如图 6-4,超调量为 9.4%:图 6-4五、实验结果及讨论五、实验结果及讨论1.学会了通过 SIMULINK 建立动态系统模型并进行仿真,能熟练地运用 SIMULINK 库,设置模型参数,建立并运用 SIMULINK 用户接口;2.学会了在 SIMULINK 中根据传递函数模型设计 PID 控制器,并将其封装成子系统,编辑封装模块的显示文本,设置系统参数,以及添加子系统帮助文档;3.学会了利用稳定边界法对PID 参数校正,找到临界稳定增益和临界稳定角频率,设定基于稳定性分析的 PID 参数;4.通过不同 PID 参数对系统响应曲线的影响规律修改PID 参数,使系统超调量小于10%。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com