matlab课程设计_第1页
matlab课程设计_第2页
matlab课程设计_第3页
matlab课程设计_第4页
matlab课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计课程设计课程名称:MATLAB语言及系统仿真设计题目:MATLAB应用及系统仿真 学院:电气信息学院学系:电气自动化研究所专业: 电气工程及其自动化 年级:学号:姓名:指导老师:2012年6月30日课程设计任务书一本课程设计的目的(1)熟练掌握MATLAB的基本知识和技能,解决简单系统的仿真问题;(2)掌握基本MATLAB的绘图与GUI的设计方法;(3)掌握线性微分方程的求解方法及控制系统的分析方法;(4)掌握Simulink的模型建立和仿真方法;(5)理解电气系统仿真、虚拟现实仿真和机构系统仿真的应用;(6)培养分析、解决问题的能力,提高实验报告和科技论文写作能力。二课程设计的时间第

2、14周至16周,在第18周的周末(6月30日)前提交到课程网站上。三课程设计的任务应用MATLAB和工具箱完成以下的系统设计与仿真。1绘图与GUI的设计;(20分)2利用Simulink建立以下的模型并进行仿真分析:(40分)1)线性微分2)时域分析3)频域分析4)误差分析3工具箱的应用;1)电气系统仿真分析(8分)2)利用Stateflow实现简单的计数器(8分)3)利用VR完成飞机围绕摩天大楼作环形飞行;(8分)4)球体的变形仿真;(8分)5)建立平面四连杆连杆仿真模型。(8分)四课程设计的要求1. 系统软件界面设计美观,控件摆放整齐,通过菜单能打开相应模型,并能进行分析;2. 程序调试通

3、过后,完成程序文档的处理,源代码添加必要的注释和功能说明;3. 粘贴所建立的模型图,开始运行的视图和结束时的视图(可粘多个用以说明操作过程或参数设置,每个图的下方要有文字说明图的标题);4. 写出心得体会;5. 按照课程设计模板的规格书写本课程设计报告;6. 提交文件格式:(XXXX-为学号后四位)将课程设计报告的电子文档单独提交,将系统开发的所有文件放到一个文件夹里打包后上传到课程网站上; 课程设计报告:M 系统开发文件打包为MXXXX.rar。五、创新要求 在完成本课题的基础上,如有能力和时间可以增加一些创新特色,完成更多功能和界面设计得更加完美。 评阅人: 成绩: 年 月 日课程设计报告

4、MATLAB应用及系统仿真一. 绘图与GUI的设计1参照例题,完成如下的GUI界面设计2参照下表设计系统菜单MenuMenu item备注LableTagLableTag文件File打开Open保存Save打印Print关闭Close系统仿真Simulat线性微分Diff时域分析Times频域分析Frequency 例14-10误差分析err_ansy工具应用Tools_APP电气仿真计数器CounterStateflow飞行FlyVR变形TransfVR四连杆Fourbar关于About退出Exit“关于”菜单能够打开一个新的窗口,显示你的软件信息,至少包含你的学号和姓名。“退出”菜单直接退

5、出系统。“关闭”菜单,应能弹出一对话框,确认是否退出。二. 利用Simulink建立以下的模型并进行仿真分析(一)建立线性微分方程的模型,并绘制仿真结果曲线.1建立模型:建立Simulink仿真模型:2系统仿真参数设置:在模型的initFcn回调函数中加入初始条件:t=1;在模型的StopFcn回调函数中加入作图命令:plot(tout,yout);在系统菜单中添加响应函数:if(findobj('userdata',gcb) disp('仅可打开一个模型');else open_system('ex4_2');end3仿真结果分析:(图及简单说

6、明)仿真结果为:利用ode45() 求解题目中所给的微分方程,仿真时间设置为10s,仿真结果说明调用函数ode45() 是可行的。(二)时域分析1建立模型:建立起如下图所示的非线性系统的Simulink框图,并观察在单位阶跃信号输入下系统的输出曲线和误差曲线。建立Simulink仿真模型:2系统仿真参数设置: 在模型的StopFcn回调函数中加入作图命令:subplot(2,1,1);plot(tout,yout(:,1);title('out1');subplot(2,1,2)plot(tout,yout(:,2);title('out2');在系统菜单中添加

7、响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('shiyufenxi');end3仿真结果分析:(图及简单说明)仿真结果为:利用ode45()函数进行仿真,仿真时间设置为10s。图中out1曲线为输出曲线,out2曲线为误差曲线,从误差曲线可知,2s内误差约为于0,仿真结果的精度较高;25s的时间内,误差在±50以内,仿真结果的精度较好;510s的时间内,误差曲线先上升再下降,在6s左右时误差达到最大。(三)频域分析1题目:单位负反馈系统的开环传递函数为,

8、试绘制闭环系统的Bode图、Nyquist图和Nichols图,并给出闭环频率特性性能指标谐振峰值、谐振频率和系统带宽。建立Simulink仿真模型:2系统仿真参数设置及程序代码: 在模型的stopFcn回调函数中加入作图命令:s=tf('s');Gk=1/s/(0.5*s+1)/(s+1);G=feedback(Gk,1); %闭环系统的传递函数w=logspace(-1,1); %从10-1101共50个频率值mag,phase,w=bode(G,w); %返回闭环系统Bode图参数Mp,k=max(mag); %谐振峰值resonantPeak=20*log10(Mp)

9、%谐振峰值单位转换resonantFreq=w(k) %谐振频率n=1;while 20*log10(mag(n)>=-3n=n+1;endsubplot(2,1,1)nyquist(G,w) subplot(2,1,2)nichols(G,w)figure(2);bandwidth=w(n) %系统带宽bode(G,w),grid; %系统Bode图在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('pinyufenxi');end3仿真结果分析

10、:(图及简单说明)第1个图形是系统的Bode图;第2个图的上面那块是系统的Nyquist图;下面那块图形是系统的Nichols图。闭环频率特性性能指标谐振峰值、谐振频率和系统带宽,分别是:谐振峰值:resonantPeak = 谐振频率:resonantFreq = 系统带宽:bandwidth = (四)误差分析1题目:对如下系统模型,假设已知误差信号e(t),试增加求取ITAE,ISE,ISTE准则的封装模块。要求:误差信号e(t)为该模块的输入信号,双击该模块弹出一个对话框,允许用户用列表框的方式选择输出信号形式、待选定的ITAE,ISE,ISTE之一作为模块的输出端显示出来。在系统回调

11、函数中,绘制所选定准则的曲线图。控制系统框图系统模型图建立Simulink仿真模型:2系统仿真参数设置及程序代码: 在模型的stopFcn回调函数中加入作图命令:subplot(2,1,1);plot(tout,yout(:,1);title('Output');subplot(2,1,2);plot(tout,yout(:,2);title('Error');在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('work4'

12、;);end3仿真结果分析:(图及简单说明)系统输出曲线和ITAE曲线如下图所示:系统输出曲线和ISE曲线如下图所示:系统输出曲线和ISTE曲线如下图所示:三. 工具箱的应用(一).实现一个电气系统仿真模型(P317中3,4,5之一)操作过程描述第1步:打开simulink,新建一个model并保存为b763b.mdl;第2步:建立相应的电路,并接入电压源、三极管的工作电压源和电压表,还有各种信号源(如Chirp Signal 信号、RepeatingSequence 信号和Step 信号等);第3步:更改各元件的名称并设置相应的参数,其中电阻设为,电容设为,正弦信号的Frequency(ra

13、d/sec)设置为10,三极管的工作电压源(Positive Supply Rain)的Constant voltage设置为;第4步:在模型的stopFcn回调函数中加入作图命令:plot(tout,yout);仿真模型建立Simulink仿真模型:仿真参数设置在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('b763b');end系统仿真分析及结果图:仿真结果如图所示Chirp Signal 信号 RepeatingSequence 信号Ramp

14、信号 Sine Wave 信号Step 信号(二)用Stateflow实现一个简单的计数器操作过程描述具体操作步骤为:第1步:打开simulink,新建一个model并保存为time.mdl;第2步:在新建的model中添加stateflow模块中的chart、sourse模块中的Pulse Generator和Sinks模块中的Out1;第3步:双击chart,进入stateflow的编辑器,点击tool菜单下的explore,在左边支开的time中选中chart,添加一个事件和两个数据,并进行相关的设置第4步:在stateflow编辑器中画出状态图并进行相关的设置第5步:在time.mdl

15、窗口下将simulation parameters的stop time改成200,并在模型的InitFcn回调函数中加入初始条件:maxtime=10;同时在stopFcn回调函数中加入作图命令:plot(tout,yout)仿真模型建立Simulink仿真模型:chart内部设计仿真参数设置 Simulink模型的参数设置:在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('time');end系统仿真分析及结果图:仿真结果如图所示:(三)利用VR完成

16、飞机围绕摩天大楼作环形飞行。实现例5-29飞机围绕摩天大楼作环形飞行模拟显示。简单描述操作过程:具体操作步骤为:第1步:在VR-Builder 2中新建一个虚拟世界,单击“背景”按钮给虚拟世界添加背景,并在groundColor中,进行颜色设置。第2步:选择Library|Import from|Objects Library,从Archetecture(Building)组中选择Skyscraper对象,将它拖到虚拟现实对象编辑窗口,改写其名称为Skyscraper,并修改相关属性第3步:选择Library|Import from|Objects Library,从Transportatio

17、n(Air)组中选择Boeing737对象,将它拖到虚拟现实对象编辑窗口,改写其名称为Plane,并修改相关属性。保存文件,命名为“myvrml5.wrl”。第4步:打开simulink,新建一个model并保存为myvrml5.mdl;按照下面Simulink模型建立相应的模型,并把VR Sink模块复制到model中。第5步:双击VR Sink,在Source file中选择myvrml5.wrl,然后在右侧树形浏览框中,打开Plane节点,选择center和scale选项,用来在Simulink模型中接收信号。第6步:把Plane.center和Plane.rotation两个输入端子接

18、入到已建立的Simulink模型中,保存后运行。建立Simulink仿真模型:在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('myvrml5');end系统仿真结果图:双击打开VR Sink界面,并点击开始运行,飞机就围绕摩天大楼顺时针且向上飞行,如下图所示。飞行过程中飞行结束时(四)球体的变形仿真定义两个块体表示刚性平面(B1,B2),在两个平面之间定义一个球体(S),三个物体是是沿X轴对齐的,两个块体以同样的速度向球体S移动,当两个块体接触到球体

19、时,球体开始变形,沿X轴收缩,Y轴和Z轴膨胀。物体中心位置物体尺寸B13 0 00.3 1 1B2-3 0 00.3 1 1S0 0 0 操作过程描述:具体操作步骤为:第1步:在VR-Builder 2中新建一个虚拟世界,单击“背景”按钮给虚拟世界添加背景,并在groundColor中,进行颜色设置。第2步:在New World中新增一个BOX块体B2,并修改相关属性:在Translation中,修改块体的中心位置为-3 0 0;在Sphere-Box中,修改块体的大小为0.3 1 1;在Shape-Material-diffuseColor中,修改块体的颜色。第3步:在New World中新

20、增一个BOX块体B1,并修改相关属性:在Translation中,修改块体的中心位置为3 0 0;在Sphere-Box中,修改块体的大小为0.3 1 1;在Shape-Material-diffuseColor中,修改块体的颜色。第4步:修改球体S的相关属性:在Sphere-Radius中,修改球体的半径为0.9;在Shape-Material-diffuseColor中,修改球体的颜色,同时保存文件,命名为“myvrml.wrl”。第5步:在MATLAB工作空间中输入“vrtut3”,在打开的Simulink模型中加入Simulink 3D Animation模块中的VR Sink,并保存

21、为“myvrml.mdl”。第6步:双击VR Sink,在Source file中选择myvrml.wrl,然后在右侧树形浏览框中,分别打开B2、B1和S节点,分别选择translation,translation和Scale选项,用来在Simulink模型中接收信号。第7步:将连接到Scope模块的信号线,相应连接到VR Sink上,保存后运行。Simulink模型:VR Sink内部界面设计:在系统菜单中添加响应函数:if(findobj('userdata',gcb)disp('仅可打开一个模型');elseopen_system('myvrml&

22、#39;);end系统仿真分析及结果图:双击打开VR Sink界面,点击开始运行,两个块体开始同时按相同的速度向中间的球体运动,在未接触前球体保持静止状态。在两个块体接触到球体时,球体开始被挤压变形,直到最后球体被完全压扁,如下图所示。两个块体向球体运动时:球被压扁时(五).建立平面四连杆仿真模型实现例7-17平面四连杆机构的运动仿真。简单描述操作过程:仿真框图绘制:仿真框图绘制过程见课本310311页“仿真框图绘制”;模块参数设置模块参数设置见课本311312页“模块参数设置”;仿真参数设置仿真参数设置见课本314页“仿真参数设置”在系统菜单中添加响应函数:if(findobj('u

23、serdata',gcb)disp('仅可打开一个模型');elseopen_system('c7mmech4');endSimulink模型: 系统仿真分析系统仿真分析见课本314315页。系统仿真运行图:四. 课程设计心得与体会(500字以上)心得与体会:以下是自己在课程设计的完成过程中遇到的一些问题以及得到的一些心得:控件重叠的问题:当控件位置有重叠时,直接放置方式与程序描绘方式不兼容。直接放置方式是指在GUI设计窗口中放置axes控件,程序描绘方式是指在程序中利用plot、subplot函数作图。在同一个fig文件中,如果axes位置有重叠,那么放置的axes控件句柄会消失,变成无效句柄,即出现Invalid handle的错误。所以,其位置不应发生重叠。参数传递的问题:保存:存在handle的ApplicationData中利用setappdata函数将数据保存在对象的“ApplicationData”属性中,利用getappdata函数从对象的“ApplicationData”属性中提取数据,如果没有定义,就为空。例如,假设figure的tag属性是figure1,则s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论