matlab课程设计模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 课程设计目的
二. 课程设计题目(问题)描述和要求
三. 系统分析与设计
根据课程设计题目问题描述和要求,完成:
1: 系统总体设计-确定系统功能模块划分及说明。
2: 系统详细设计-在总体设计基础上设计系统总体框架、系统流程图。
3: 源程序清单(没条指令都要加注释,说明其功能,入口参数,返回参数)。
四.系统运行后的效果图:
五. 系统调试过程中出现的主要问题与分析
六. 系统运行报告与结论
对本系统作一个全面的评价:包括有何特点、存在的问题、改进意见等。
七. 总结
1.设计中遇到的问题及解决过程。
2.设计中产生的错误及原因分析。
3.设计体会和收获。
八:鸣谢
九. 参考书目
格式: 作者,书名,出版社,出版时间
例子!!!
----封面----
自控系统仿真软件课程设计报告
设计题目:工业学院运动会动画仿真姓名:何村
学号: 040401215
院系:电气信息工程系
专业:自动化
指导教师:程老师
2006年12月10日
---正文---
摘要
本软件设计作品使用MATLAB语言进行校运动会动画仿真。
动画较真实,能较客观反映仿真效果。
在校田径运动会动画设计中使其移动产生动画效果,在校足球队训练动画设计中实现运动员位置随机,进行随机传接球及射门等动作仿真。
在总菜单设计中,分别提供不同的动画仿真和退出MATLAB语言环境。
关键词:课程设计仿真自控系统动画 MATLAB
一.课程设计目的
1:熟悉课程设计的基本流程。
2:掌握MATLAB语法结构及调试方法。
3:熟悉MATLAB函数调用,熟练二维画图。
4:掌握MATLAB语言在控制方面的运用。
5:学会用MATLAB进行基本仿真。
6:掌握MATLAB编程技巧,提高编程水平。
二.系统分析
1:题目的描述:
①当单击“校田径运动会”时,进行该动画仿真,即6名运动员从最外圈开始依次进行6*100米接力赛。
②当单击“校足球队训练”时, 进行该动画仿真,即5个球员在球场随机随机分布,守门员在球门处等待扑球,5名球员按球员一到球员五依次传球,最后由球员五来完成射门动作。
③程序运行后出现一下拉菜单—--请选择动画,“校田径运动会”,“校足球队训练”,“退出动画”,分别供不同的动画仿真和退出MATLAB语言环境,当单击“退出动画”时, 退出MATLAB语言环境。
2:设计的要求:
①六名田径运动员依次跑,田径运动会跑道分明。
②五名足球球员的位置是随机的,多次进行传球射门训练。
三.系统设计:
1:系统总体设计: 菜单式总体设计
单击第一个选项实现校田径运动会动画,单击第二个选项实现校足球队训练动画,单击第三个选项实现退出MATLAB环境。
其中:
①校田径运动会动画中,先用循环语句绘制跑道并且填充不同的颜色以示区别,然后用循环语句实现运动员句柄的绘制和接力动画的仿
真。
②校足球队训练动画中,先设置足球场(半场)的长宽等参数,以方便更改,然后绘制足球场,再绘制各队员句柄,最后实现传接球和射门的动画仿真。
③退出动画中,用end语句,退出MATLAB环境。
2:系统详细设计:
图1 系统总体框架流程(受屏幕限制性,图不完整)
图2田径接力赛动画流程图(受屏幕限制性,图不完整)
图3足球训练流程图(受屏幕限制性,图不完整)
3: MATLAB动画源程序清单:
clear; %清除工作区
clc;%清除命令区
for i=1:5
k = menu('请选择动画','校田径运动会','校足球队训练','退出动画');
%标题
title('工业学院运动会6×100接力赛');
%田径场长半轴长度
a=200;
%画跑道结束控制语句
while a>100
%跑道长半轴递减语句
a=a-15;
%圆周微变控制语句
t=0:0.01*pi:2*pi;
%横坐标
x=a*cos(t);
%纵坐标
y=(a-60)*sin(t);
%绘制跑道
fill([x],[y],[abs(cos(a)),abs((a-100)/100),abs(sin(a))]); %保持
============(中间程序省略)
%停顿1秒
%队员五射门
p=0;
dp=0.01;
while p<X6-X5
x1=x5;
y1=y5;
p=p+dp;
y=y5+(y6-y5)/(x6-x5)*p;
x=x5+p;
set(zuqiu,'xdata',x,'ydata',y)
drawnow;
end
%进球标记
text(-length,width+ewidth,'好!武工院射门了!','fontsize',16,'color','y');
%停顿2秒
pause(2)
clc;
clear;
%循环结束
end
elseif k==3
exit
end
end
end
end
%清除工作区
clear;
%清除命令区
clc;
四.系统调试过程中出现的主要问题
1:程序报错--原因是出现语法错误; 如:未定义变量时有Error: Missing variable or function.
使用非英文符号时有Error: "End of Input" expected, ":" found. 2:程序无响应--原因是路径错误;
如果调用M文件,要使M文件处于当前路径;
3:实际与理论不符--原因是出现逻辑错误;
在动画衔接处要用MATLAB计算出临界值,如足球场罚球弧和禁区线的交接以及脚旗区与边界的交接等都需要先计算出临界值。
4:程序无法终止--原因是出现死循环;如:
当使用while i>0,而又有i=0.1;di=0.01;i=i+di时就陷入死循环。
又使用while 1时,是利用死循环进行循环动画。
5:程序运行异常--原因是运行前没有清空数据区。
由于数据区是覆盖作用的,所以应该养成先清空数据区的习惯。
6:函数调用报错--原因是版本不同,库函数就不同。
7:动画变化缓慢--原因是时间变量设置过小。
传接球有时速度快有时慢,是由于变量设置不同,所以差别较大。
8:动画变化单步--原因是未使用hold on语句,hold on语句可使该条语句前的所有画面覆盖合成。
9:程序运行时画面可能闪动,可在每个While循环中加入消振语句set(gcf,'DoubleBuffer','on')使情况好转。
五.系统调试后的效果图:
图4校田径运动会动画效果图
图5校足球队训练效果图
六.系统运行报告与结论
通过调试后:
1:球场显示正常,说明无语法与逻辑错误。
2:球员位置随机,说明预期随机射门的目的达到。
3:传接球正常,说明程序运行正常;
4:传接球停顿,说明该段程序起作用;
5:多幅图象显示,说明整个程序运行正常。
七.作品中存在的不足
我想使两个动画结合起来,即田径场上进行田径运动会,田径场中间
的足球场上进行足球训练,两者同时进行,互不影响,只限于编程水平还不够,所以需要更多的学习。
八.总结
MATLAB语言有强大的数据处理功能,处理速度快,精度高,还有众多工具包,所以大规模用于控制领域,仿真领域,因此它有强大的生命力和广阔的发展前景;同时,MATLAB语言不同于其他计算机语言,它是一种解释语言,即解释一条就执行一条!而且严格的区分中英文!所以,在编制程序时要细心!这使我们在编制程序的过程中对MATLAB有了一个深层次的理解。
通过这次MATLAB课程设计,我学到了许多MATLAB的知识。
为了了完美的完成这次课程设计,我费了很多精力学习MATLAB,也查阅了很多关于MATLAB的书籍,同时我也掌握了很多新知识,特别是了解了许多MATLAB函数。
在设计过程中,我也碰到了许多问题,走了很多弯路,主要是因为对MATLAB还较不熟练,犯了一些常规错误,但最后通我查阅相关书籍和请教老师同学,问题都迎刃而解。
在解决问题过程中,学会了很多MATLAB的知识,最重要的是学会了自己解决问题的能力,受益非浅。
总之,通过MATLAB课程设计,我熟悉了课程设计的流程,掌握了MATLAB语言的基本语句 ,学会了独立思考和查阅资料解决问题的能力。
九.致谢:
在这里特别感谢程老师在课堂上的讲解和引导,使我对MATLAB语言有强烈的兴趣,从而促使更进一步的学习MATLAB语言,并将知识应用与实际问题的解决!例如,数学模型的仿真,大量数据和图象的处理等等。
十.参考书目:
1.《MATLAB基础与应用》张平编著北京航空航天大学出版社 2001.1
2.《精通MATLAB7》王正林/刘明编著电子工业出版
社 2006.7
3.《MATLAB教程》张志涌编著北京航空航天大学出版
社 2001.1
4.《MATLAB函数库查询词典》徐东燕编中国铁道出版
社 2002.1。