欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:6995278       资源大小:282.19KB        全文页数:25页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

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

    2、阵、变量、表达式的各种基本运算三、实验内容:1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3),学习使用MATLAB的基本

    3、运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次M-file的修改后,都要存盘。练习A:(1)help rand,然后随机生成一个26的数组,观察command window、command history和workspace等窗口的变化结果(2)学习使用clc、clear,了解其功能和作用(3)输入一个2维数值数组,体会标点符号的作用(空格和逗号的作用)。(4)一维数组的创建和寻访,创建一个一维数组(18)X,查询X数组的第2个元素,查询X数组的第3个元素到第6个元素,查询X数组的第5个元素到最后一个元素,查询X数组的第3、2、1个元素,查询X数组中5元素,将X数组的第2个

    4、元素重新赋值为111,实例expm1。(5)二维数组的创建和寻访,创建一个二维数组(48)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素,查询数组A按列拉长形成新的数组B(18),查询数组A按行拉长形成新的数组C(18),以全元素赋值的方式对数组A赋值。(6)两种运算指令形式和实质内涵的比较。设有3个二维数组A24,B24,C22,写出所有由2个数组参与的合法的数组运算和矩阵指令(7)学习使用表8列的常用函数(通过help方法)(8)学习使用表9数组操作函数(9)学习字符串的创建,a=This is an example. 串数组的大小size(a)

    5、 串数组的元素标识a14=a(1:4) ra=a(end:-1:1) 对字符串ASCLL码的数组操作w=find(a=a&ahelp rand %用help指令学习rand的用法rand - Uniformly distributed pseudorandom numbers This MATLAB function returns a pseudorandom scalar drawn from the standard uniform distribution on the open interval (0,1). r = rand r = rand(n) r = rand(sz1,.,s

    6、zN) 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,like,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

    7、.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) %产生单位矩阵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

    8、) %逆时针旋转数组90ans = 2 7 6 9 5 1 4 3 8 a=helloa =hello 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*x + a*c*x2*y e2=c*y+p e2 =p + c*y e1/e2 ans =(k*p + a*p*x2 + c*k*y + b*p*x + a*c*x2*y)/(p + c*y) a=1 2a = 1 2 c=resha

    9、pe(a,2,1) %改变数组a的行数和列数c = 1 2五、实验结果及讨论 1.熟悉了MATLAB的基本软件操作。 2.通过本次实验熟悉了 MATLAB 的开发环境掌握了矩阵、变量、表达式的各种运算了解了*与.*、/与、与.等区别以及绝对值、开方 e的阶乘、正弦、正切的运算的符号。 3.让我明白了MATLAB的实用性。实验二 MATLAB语言的程序设计一、实验时间及地点:实验时间:2015.10.19上午8:309:30实验地点:黄岛老校区计算中心二、实验目的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递

    10、和赋值三、实验内容:练习A1、熟悉MATLAB程序编辑与设计环境 2、用for循环语句实现求1100的和3、用for循环语句实现编写一个求阶乘的函数文件练习B思考题4、已知一维数组、,用for循环语句实现。求和函数可用5、(1)编写求解一维数组平均值的函数文件。(2)编写求解二维数组平均值的函数文件。四、实验操作过程(实验说明)1用for循环语句实现求1100的和,函数名为theSec().程序: a=0;for i=1:100 a=i+a; endfprintf(%dn,a)执行结果: theSec %求1100的和50502用for循环语句实现编写一个求阶乘的函数文件,函数名为jiex(x

    11、). 程序: function jiex(x)a=1;for i=1:x a=a*i;endfprintf(%dn,a)执行结果: jiex(4) % 求4的阶乘243.已知一维数组、,用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; 执行结果: ABsum()ans =1784.编写求解任意数组平均值的函数文件,函数名为avg(f). 程序: function y=avg(f)m,n=si

    12、ze(f);sum=0;for i=1:m for j=1:n sum=sum+f(i,j); endendy=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的图形绘制一、实验时间及地点:实

    13、验时间:2015.10.21上午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) plot指令基本操作演示【2】用图形表示连续调制波形 及其包络线。t=(0:pi/100:pi); y1=sin(t)*1,-

    14、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) 【3】通过绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较广。请耐心读、实际做、再看例后说明,定会有匪浅收益。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

    15、,inf) set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)grid on title(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);hold off cell_string1=fontsize12uparrow; cell_string2=fontsize16 fontname隶书镇定时间;cell_st

    16、ring3=fontsize6 ; cell_string4=fontsize14rmt_s = num2str(ts); text(ts,0.85,cell_string) xlabel(fontsize14 bft rightarrow) ylabel(fontsize14 bfy rightarrow) 二阶阶跃响应图的标识四、实验操作过程(实验说明)1.二维曲线绘图基本指令演示: t=(0:pi/50:2*pi); k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y)执行结果:(图3-1) 图3-12.用图形表示连续调制波形 及其包络线: t=(0:pi/100:pi)

    17、; 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)执行结果:(图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

    18、(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)grid on title(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);hold off cell_string1=fontsize12uparrow; cell_string2=fontsize16 fontname隶书镇定时间;cell_string3=fon

    19、tsize6 ; cell_string4=fontsize14rmt_s = num2str(ts); text(ts,0.85,cell_string) xlabel(fontsize14 bft rightarrow) ylabel(fontsize14 bfy rightarrow)执行结果:(图3-3) 图3-3五、实验结果及讨论 1,通过这次实验,我学会了MATLAB 图形绘制的基本方法,掌握 了 MATLAB 图形绘制程序编辑的基本指令,而且还懂得了利用 MATLAB 图形编辑窗口编辑和修改图形界面,并添加图形的各种标 注。 2,感觉到了MATLAB 的强大,而且很实用。 实验四

    20、 采用SIMULINK的系统仿真一、实验时间及地点:实验时间:2015.10.21上午8:309:30 实验地点:黄岛老校区计算中心二、实验目的:1、熟悉SIMULINK 工作环境及特点2、掌握线性系统仿真常用基本模块的用法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集成环境下建立模型,在给

    21、定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线(2)计算仿真结果的超调量、上升时间、调节时间、稳态误差。(3)设计PID调节器替代图中的比例积分调节器,调节,用使系统满足超调量15%,上升时间0.3s,调节时间0.4s的要求。(4)要求对加入的PID控制器封装成一个模块使用封装步骤1 创建子系统封装步骤2 封装子系统封装步骤3 设置参数封装步骤4 修改和设计模块图标四、实验操作过程(实验说明)1.画出双环调速的电流环系统的方框图模型,并在Simulink集成环境下建立模型:(图4-1) 图4-12.绘制相应的响应曲线:(图4-2) 图4

    22、-2五、实验结果及讨论1、SIMULINK的基本操作:1)启动SIMULINK软件包:可以在MATLAB命令窗口键入“SIMULINK”命令,回车后将弹出SIMULINK图形库浏览器(SIMULINK LIBRARY BREWSER)界面,也可以选择“SIMULINKLIBRARY BREWSER”同样可以打开该界面;2)SIMULINK用户接口:SIMULINK仿真模型编译器界面有菜单栏、工具栏、状态栏等,通过这些接口可以调整仿真运行时间,仿真模式等,可以查看仿真运行进度等信息。3)构建SIMULINK框图:用鼠标将模块库中的所需的模块拖至系统模型中,然后添加连线将各个模块连接起来,模型中可

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

    24、环传递函数为试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益及其所有极点的位置四、实验操作过程(实验说明) 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 + 5 Continuous-time transfer function. num=0.5; den=1 2.5 1; Gs=tf(num,den)Gs = 0.5 - s2 + 2.5 s + 1 Continuous-time transfer function. k=1; num=k; den=2 4

    25、.5 1 0; Gs=tf(num,den)Gs = 1 - 2 s3 + 4.5 s2 + s Continuous-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 + s Continuous-time transfer function. rlocus(Ms) %绘制系统闭环的根轨迹图(图5-1) 图5-1 pzmap(Ms) %绘制零极点图(5-2) 图5-2 p,z=pzmap(Ms)p = 0.0000 + 0.0000i -2

    26、.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 -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


    注意事项

    本文(MATLAB控制系统仿真实验报告.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开