matlab实验设计

上传人:第*** 文档编号:61809873 上传时间:2018-12-13 格式:PDF 页数:13 大小:216.85KB
返回 下载 相关 举报
matlab实验设计_第1页
第1页 / 共13页
matlab实验设计_第2页
第2页 / 共13页
matlab实验设计_第3页
第3页 / 共13页
matlab实验设计_第4页
第4页 / 共13页
matlab实验设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《matlab实验设计》由会员分享,可在线阅读,更多相关《matlab实验设计(13页珍藏版)》请在金锄头文库上搜索。

1、自控系统仿真软件课程设计报告自控系统仿真软件课程设计报告 设计题目:设计题目:斯洛克进球仿真斯洛克进球仿真 姓姓名名: :XXXXXX 学学号号: :XXXXXXXXXX 院院系系: :电气与电子信息工程系电气与电子信息工程系 专专业业: :自动化自动化 指导教师指导教师: :XXXXXXXX 2012 年 12 月 24 日 一摘要 本软件设计作品使用 MATLAB 语言进行校斯洛克进球动画仿真。 动画较真实,能较客观反映仿真效果。 在斯洛克动画设计中使其移动产生动画效果。仿真杆运动击白 球, 白球运动击中绿球, 绿球运动, 遇到台球桌边沿反弹改变运动轨迹, 进入中腰洞口。 在总菜单设计中,

2、分别提供不同的动画仿真和退出 MATLAB 语言环境。 一课程设计目的 1:熟悉课程设计的基本流程。 2:掌握 MATLAB 语法结构及调试方法。 3:熟悉 MATLAB 函数调用,熟练二维画图。 4:掌握 MATLAB 语言在控制方面的运用。 5:学会用 MATLAB 进行基本仿真。 6:掌握 MATLAB 编程技巧,提高编程水平。 二系统分析 运行程开始,先建立坐标系,除去坐标,画好台球桌与球杆, 填充底座背景颜色,画 D 型区及球桌网络,按照指定位置放好各色桌 球。球杆移动,击中白球,白球移动击中绿球,绿球移动碰到台球桌边 沿,反弹,换方向移动,到中腰洞口。绿球进洞,即绿球消失。仿真结

3、束。 2:设计的要求: 画好台球桌,按照指定位置摆好各色球 打绿球使绿球进洞 三系统设计: 系统总体框架流程 画台球桌 程序开始 清除工作区清除命令区 放置各色球 杆击球白球运动 绿球运动 3: MATLAB 动画源程序清单: figure(name,李成茂 学号: 090408608 自动化 091 班);%设置标题 名字 title (玩转斯诺克,fontsize,28,color,y); %设置背景色, 坐标和标题 axis(0,400,0,210); %建立坐标系 axis equal; axis off; %除掉坐标 hold on; %画球台与球杆 fill(0,385.1,385

4、.1,0,0,0,206.0,206.0,0,1,0);%填充底座背 景 fill(14.1,371.0,371.0,14.1,14.1,14.1,191.9,191.9,0,0.5,0 );%填充底座背景 l1=line(87.8;87.8,14.1;191.9,color,k,linewidth,2); g1=line(1;45,103;103,color,k,linewidth,8); %画 D 区域 t=pi/2:0.01:3*pi/2; plot(87.8+29.2*cos(t),103+29.2*sin(t),color,k,linewidth, 2) %画球网 t1=0:0.01

5、:3*pi/2; plot(14.1+8.5*cos(t1),191.9+8.5*sin(t1),color,k,linewidt h,2) t2=pi/2:0.01:2*pi; plot(14.1+8.5*cos(t2),14.1+8.5*sin(t2),color,k,linewidth ,2) t3=pi:0.01:5*pi/2; plot(371.0+8.5*cos(t3),14.1+8.5*sin(t3),color,k,linewidt h,2) t4=-pi/2:0.01:pi; plot(371.0+8.5*cos(t4),191.9+8.5*sin(t4),color,k,l

6、inewid th,2) t5=pi:0.01:2*pi; plot(192.55+8.5*cos(t5),14.1+8.5*sin(t5),color,k,linewid th,2) t6=0:0.01:pi; plot(192.55+8.5*cos(t6),191.9+8.5*sin(t6),color,k,linewi dth,2) %放置球 t=0:pi/200:2*pi; x11=58.6-8.5*cos(t); y11=103.0-8.5*sin(t); c11=fill(x11,y11,w);%放置白球 x12=87.8-8.5*cos(t); y12=132.2-8.5*sin

7、(t); c12=fill(x12,y12,g);%放置绿球 x13=87.8-8.5*cos(t); y13=103.0-8.5*sin(t); c13=fill(x13,y13,c);%放置青球 x14=87.8-8.5*cos(t); y14=73.8-8.5*sin(t); c14=fill(x14,y14,y);%放置黄球 x15=361.0-8.5*cos(t); y15=181.9-8.5*sin(t); c15=fill(x15,y15,b);%放置蓝球 x16=192.5-8.5*cos(t); y16=103.0-8.5*sin(t); c16=fill(x16,y16,r

8、);%放置红球 x17=338.6-8.5*cos(t); y17=103.0-8.5*sin(t); c17=fill(x17,y17,k);%放置黑球 pause(1);%暂停一秒 t1=text(200,150,准备,fontsize,16,color,r); pause(1.5); delete(t1);%取消 t1 t1=text(200,150,开始 ! ! !,fontsize,16,color,r); pause(1);%暂停一秒 delete(t1);%取消 t1 g2=line(14.4;50,59;93,color,k,linewidth,8);%球杆第 一次击球 del

9、ete(g1); drawnow; for i=0:95;%设置运动速度 xa=x11+0.192*i; ya=y11+0.192*i; set(c11,xdata,xa,ydata,ya); %描述白球第一次运动 drawnow;%刷新屏幕 end ; for i=0:85;%设置运动速度 xa=x12+0.597*i; ya=y12+0.597*i; set(c12,xdata,xa,ydata,ya);%绿球运动轨迹 drawnow;%刷新屏幕 end ; delete(c12); t=0:pi/200:2*pi; x121=138.5-8.5*cos(t); y121=182.9-8.

10、5*sin(t); c121=fill(x121,y121,g);%放置绿球 for i=0:200;%设置运动速度 xa=x121+0.2750*i; ya=y121-0.8645*i; set(c121,xdata,xa,ydata,ya);%绿球运动轨迹 drawnow;%刷新屏幕 end ; delete(c121); 四系统调试过程中出现的主要问题 1;未使用 axis off 指令,使坐标没有消除。 2;轨迹参数设置不准确,发生球没打到洞口,球却消失了。改进方 法是,准确求出参数,不断进行微调修改。 3:程序报错原因是出现语法错误; 如:未定义变量时有 Error: Missing

11、 variable or function. 使用非英文符号时有 Error: “End of Input“ expected, “:“ found. 4:程序无响应原因是路径错误; 如果调用 M 文件,要使 M 文件处于当前路径; 5:实际与理论不符原因是出现逻辑错误; 在动画衔接处要用 MATLAB 计算出临界值,如足球场罚球弧和禁区线 的交接以及脚旗区与边界的交接等都需要先计算出临界值。 6:程序运行异常原因是运行前没有清空数据区。 由于数据区是覆盖作用的,所以应该养成先清空数据区的习惯。 7:函数调用报错原因是版本不同,库函数就不同。 8:动画变化单步原因是未使用 hold on 语句

12、,hold on 语句可使 该条语句前的所有画面覆盖合成。 五系统调试后的效果图: (1)绘制的台球桌面 (2)绿球进洞后 六系统运行报告与结论 通过调试后: 1:台球桌显示正常,说明无语法与逻辑错误。 2:各色桌球摆在指定位置,说明坐标设置没有错误。 3:球杆及白球运动正常,说明程序运行正常; 4:绿球运动并反弹,说明轨迹及坐标设定正确; 七作品中存在的不足 台球桌与实际台球桌相比没有那么逼真, 只限于编程水平还不够,所以 需要更多的学习。 八总结 MATLAB 语言有强大的数据处理功能,处理速度快,精度高,还有众 多工具包,所以大规模用于控制领域, 仿真领域,因此它有强大的生命力 和广阔的

13、发展前景;同时,MATLAB 语言不同于其他计算机语言,它是一 种解释语言,即解释一条就执行一条!而且严格的区分中英文!所以, 在编制程序时要细心!这使我们在编制程序的过程中对 MATLAB 有了一 个深层次的理解。 通过这次 MATLAB 课程设计, 我学到了许多 MATLAB 的知识。 为了了完 美的完成这次课程设计, 我费了很多精力学习 MATLAB, 也查阅了很多关 于 MATLAB 的书籍,同时我也掌握了很多新知识,特别是了解了许多 MATLAB 函数。在设计过程中,我也碰到了许多问题,走了很多弯路,主 要是因为对 MATLAB 还较不熟练,犯了一些常规错误,但最后通我查阅 相关书籍

14、和请教老师同学,问题都迎刃而解。在解决问题过程中,学会 了很多 MATLAB 的知识,最重要的是学会了自己解决问题的能力,受益 非浅。 总之,通过 MATLAB 课程设计,我熟悉了课程设计的流程,掌握了 MATLAB 语言的基本语句 ,学会了独立思考和查阅资料解决问题的能力。 九致谢: 在这里特别感谢康老师在课堂上的讲解和引导,使我对 MATLAB 语言 有强烈的兴趣,从而促使更进一步的学习 MATLAB 语言,并将知识应用 与实际问题的解决! 例如, 二维图形的设计, M 函数的编写, 及 simulikx 系统仿真。 十参考书目: 1MATLAB 教程及实训曹弋编著机械工业出版社 2008.5 2.控制系统 MATLAB黄忠霖/周向明编著国防工业出版 社2006.4

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

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号