您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > matlab课程设计Word文档
matlab课程设计Word文档课程名称:《MATLAB语言及系统仿真》设计题目:MATLAB应用及系统仿真学院:电气信息学院学系:电气自动化研究所专业:电气工程及其自动化年级:2021级学号:2021052431姓名:陈平应指导老师:严东松2021年12月30日课程设计任务书一.本课程设计的目的(1)熟练掌握MATLAB的基本知识和技能,解决简单系统的仿真问题;(2)掌握基本MATLAB的绘图与GUI的设计方法;(3)掌握线性微分方程的求解方法及控制系统的分析方法;(4)掌握Simulink的模型建立和仿真方法;(5)理解电气系统仿真、虚拟现实仿真和机构系统仿真的应用;(6)培养分析、解决问题的能力,提高实验报告和科技论文写作能力。二.课程设计的时间第14周至16周,在第18周的周末(2021年1月6日)前提交到课程网站上。三.课程设计的任务应用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.粘贴所建立的模型图,开始运行的视图和结束时的视图(可粘多个用以说明操作过程或参数设置,每个图的下方要有文字说明图的标题);4.写出心得体会;5.按照课程设计模板的规格书写本课程设计报告;6.提交文件格式:(XXXX---为学号后四位)将课程设计报告的电子文档单独提交,将系统开发的所有文件放到一个文件夹里打包后上传到课程网站上;①课程设计报告:MXXXX.doc②系统开发文件打包为MXXXX.rar。五、创新要求在完成本课题的基础上,如有能力和时间可以增加一些创新特色,完成更多功能和界面设计得更加完美。评阅人:成绩:年月日2《MATLAB语言及系统仿真课程设计》课程设计报告——MATLAB应用及系统仿真一.绘图与GUI的设计1.参照例题,完成如下的GUI界面设计2.参照下表设计系统菜单《MATLAB语言及系统仿真课程设计》34《MATLAB语言及系统仿真课程设计》误差分析err_ansy工具应用Tools_APP电气仿真计数器CounterStateflow飞行FlyVR变形TransfVR四连杆Fourbar关于About退出Exit“关于”菜单能够打开一个新的窗口,显示你的软件信息,至少包含你的学号和姓名。“退出”菜单直接退出系统。“关闭”菜单,应能弹出一对话框,确认是否退出。说明:课程设计中a1.fig为主要的GUI界面。二.利用Simulink建立以下的模型并进行仿真分析(一).建立线性微分方程的模型,并绘制仿真结果曲线.1.建立习题5.7第4题的模型:2.系统仿真参数设置:①在模型的initFcn回调函数中加入初始条件:t=1;②在系统菜单中添加响应函数:if(findobj('userdata',gcb))disp('仅可打开一个模型');elseopen_system('ex4_2');end③设置四个积分器的初始值,从左到右及y0=1,y01=y02=1/2,y03=0.2;④在模型的Stopfcn回调函数中加入命令:plot(tout,yout);3.仿真结果分析:(图及简单说明)微分系统模型diff框图为:diff环节系统模型图输出y与时间的曲线为:《MATLAB语言及系统仿真课程设计》5y的输出曲线另外输出y的各阶微分与时间的曲线为:y的各阶微分输出曲线(二).时域分析1.建立模型:建立起如下图所示的非线性系统的Simulink框图,并观察在单位阶跃信号输入下系统的输出曲线和误差曲线。2.系统仿真参数设置:①把第一个非线性模块LookupTable的拐点横坐标设置为[-1,-0.5,-0.5,0.5,0.5,1];观点纵坐标设置为[-2.5,-2.5,0,0,2.5,2.5];②把时延模块TransportDelay的时间延迟参数设为-4;③其他传递函数模块则根据题目所给参数修改即可。④在模型的Stopfcn回调函数中输入代码:plot(tout,yout);legend('errorcurve','outputcurve',0);xlabel('t');ylabel('y');3.仿真结果分析:(图及简单说明)输出曲线和误差曲线图为:系统仿真输出曲线图(三).频域分析6《MATLAB语言及系统仿真课程设计》《MATLAB语言及系统仿真课程设计》71.题目:单位负反馈系统的开环传递函数为)1)(15.0(1)(++=ssssG,试绘制闭环系统的Bode图、Nyquist图和Nichols图。2.系统仿真参数设置及程序代码:在模型的Stopfcn回调函数中输入代码:s=tf('s');Gk=1/s/(0.5*s+1)/(s+1);G=feedback(Gk,1);w=logspace(-1,1);[mag,phase,w]=bode(G,w);[Mp,k]=max(mag);resonantPeak=20*log10(Mp)resonantFreq=w(k)n=1;while20*log10(mag(n))=-3n=n+1;endbandwidth=w(n)figure(1);bode(G,w),grid;figure(2);nyquist(G);figure(3);nichols(G);3.仿真结果分析:(图及简单说明)时域分析模型times的simulink框图为:系统times模型图①运行模型后,会得到三个图形窗口:该单位负反馈的Bode图为:系统Bode图该单位负反馈的Nyquist图:系统Nyquist图该单位负反馈的nichols图:8《MATLAB语言及系统仿真课程设计》《MATLAB语言及系统仿真课程设计》9系统nichols图(四).误差分析1.题目:对如下系统模型,假设已知误差信号e(t),试增加求取ITAE,ISE,ISTE准则的封装模块。要求:误差信号e(t)为该模块的输入信号,双击该模块弹出一个对话框,允许用户用列表框的方式选择输出信号形式、待选定的ITAE,ISE,ISTE之一作为模块的输出端显示出来。在系统回调函数中,绘制所选定准则的曲线图。2①在模型;Switch的选择,根据key的值来控制输出信号形式,且变量的类型都设置为popup。变量key的具体参数设置如下图所示:变量key的参数设置对话框③在模型Stopfcn的回调函数中输入命令:plot(tout,yout(:,2));xlabel('t');ylabel('y');④在err_ansy.mdl窗口下将simulationparameters的stoptime改成30.3.仿真结果分析:(图及简单说明)封装模块的子系统模型图为:封装模块子系统结构模型图双击分装模块,跳出参数选择框图为:10《MATLAB语言及系统仿真课程设计》《MATLAB语言及系统仿真课程设计》11输出信号形式选择框图分别选择ITAE,ISE,ISTE时的输出曲线:ITAE的输出曲线ISE的输出曲线ISTE的输出曲线三.应用工具箱进行仿真(一).实现习题7.6第4题电路图的仿真操作过程描述a)根据题目所给的电路图,将所需要的电阻、三极管等电器元件复制到模型窗口中,并按照题目要求连线。12《MATLAB语言及系统仿真课程设计》《MATLAB语言及系统仿真课程设计》13b)修改参数,具体见以下参数设置,最后保存运行。仿真模型电气仿真模型dianqi的simulink框图为:(a)图(b)图(c)图系统模型图仿真参数设置:①R1=R2=10KΩ,R3=R4=20KΩ,R5=30KΩ,R6=40KΩ,R7=5KΩ,R8=4KΩ,R9=24K,R10=R17=12KΩ,R11=R13=R14=R15=R16=R18=R19=6KΩ,R12=2.2KΩ,②在模型Stopfcn的回调函数中输入命令:plot(tout,yout);xlabel('t');ylabel('Uo');③在ConfigurationParameters中将slover的算法设置为ode15(stlff/NDF)系统仿真分析及结果图:14《MATLAB语言及系统仿真课程设计》《MATLAB语言及系统仿真课程设计》15(a)的仿真图(b)的仿真图(c)的仿真图(二).用Stateflow实现一个简单的计数器操作过程描述:,在左边支开time,选中chart,我们将在此添加一个事件和两个数据(计数器所需要的)。A、点Add菜单下event,在右边就新产生了一行,将它的名字(name)改成switch,范围(scope)改成inputfromsimulink,触发器形式(Trigger)改成Rising(其实这儿无所谓)。在time.mdl中将pulsegenerator的输出接到chart的上方,就表示每当pulsegenerator产生的信号上升时,switch事件发生。B.点Add菜单下data,在右边将他的名字改成output,scope改成output,此时time.mdl中chart就多出来一个输出端口,将其接到scope上看输出结果。3.再点add--data,将他的名字改成maxtime,scope改成paramer,表示他是一个变量,将在matlab的workspace里设定,这里的含义就是计数器的最大值,当计数器的输出达到这个最大值时,输出将自动清零,表示重新开始计数。添加完成后,就可关闭explore了。③在stateflow编辑器里,画出状态图:在第一个状态其中写上:reset/entry:output=0;再拉入一个默认转换,拖到reset状态的旁边,使它指向reset状态,这样就表示reset状态将是系统启动后第一个进入的状态。再拉入一个状态,在其中写上count/entry:output++;此时再拖入一个节点,然后画两条转换线(transition),一条由reset状态指向这个节点,一条由count状态指向这个节点,在这两条线都写上switch,然后再画两条转换线,一条由这个节点指向reset状态,在线上写上[output=maxtime],表示一旦output超过最大值时,将进入到reset状态(将计数器清零),另一条线由这个节点指16《MATLAB语言及系统仿真课程设计》向count状态,在线上写上[output仿真模型:计数器counter.mdl模型框图为:计数器的stateflow状态图:仿真参数设置:①在counter.mdl窗口下将simulationparameters的stoptime改成200,《MATLAB语言及系统仿真课程设计》17②然后在matlab的workspace输入maxtime=10;设定计数器的最大值为10或者在模型的initFcn回调函数中加入初始条件:maxtime=10;③在模型Stopfcn的回调函数中输入命令:plot(tout,yout);xlabel('t');ylabel('y');系统仿真分析及结果图:(三).利用VR完成飞机围绕摩天大楼作环形飞行。实现例5-29飞机围绕大树作环形飞行模拟显示。简单描述操作过程:①在VR-Builder2中新建一个虚拟世界,单击北京按钮给图形添加默认背景,通过Libraries|ImportFrom|ObjectLibrary命令可以添加一棵树和一架飞机并将其名字改为Tree和Plane;②Tree—center修改树的位置,设置为(0,0,-9,0.1);③Tree—scale修改树的大小,将其参数设置为(0.1,0.3,1
本文标题:matlab课程设计Word文档
链接地址:https://www.777doc.com/doc-7845764 .html