小球弹跳仿真Word下载.docx

上传人:b****6 文档编号:20565783 上传时间:2023-01-24 格式:DOCX 页数:11 大小:326.05KB
下载 相关 举报
小球弹跳仿真Word下载.docx_第1页
第1页 / 共11页
小球弹跳仿真Word下载.docx_第2页
第2页 / 共11页
小球弹跳仿真Word下载.docx_第3页
第3页 / 共11页
小球弹跳仿真Word下载.docx_第4页
第4页 / 共11页
小球弹跳仿真Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

小球弹跳仿真Word下载.docx

《小球弹跳仿真Word下载.docx》由会员分享,可在线阅读,更多相关《小球弹跳仿真Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

小球弹跳仿真Word下载.docx

基于MATLAB的小球弹跳仿真

设计

目的

1.利用物理学原理,综合运用matlab工具实现小球弹跳仿真;

2.综合运用专业及基础知识,解决实际工程技术问题的能力;

3.学习资料的收集与整理,学会撰写报告。

实验

环境

1.微型电子计算机(PC);

2.安装Windows2000以上操作系统,MATLAB等开发工具。

任务

要求

1.小球在弹跳过程中,有能量损失,即存在损耗系数,最后必然速度变为0停下来,本次课程设计就是要模拟仿真小球弹跳的整个过程,首先通过使用simulink搭建系统模型,实现小球弹跳仿真,但这是建立在初始速度、初始高度和衰减系数都已知的情况下,且描绘的只是整个过程的静态图像,所以通过设计GUI界面,让用户可以输入任意小球的初速度、初始高度以及衰减系数数值,从而模拟出小球弹跳的整个过程,要有小球速度的动态变化图,小球的动态轨迹图,以及小球的动态位移图,从而使整个过程清晰明了。

2.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;

3.结束后,及时提交作品报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于1500字(不含代码)。

摘要matlab的应用领域非常广泛,从基本的线性代数、泛函分析,到应用广泛的信号处理、可控制系统、通信系统,直到神经网络、小波理论等最新技术领域。

为了体现matlab这个语言工具的应用,所以以本次课程设计为小小的实例,来体现它的应用价值。

本次课程设计思想来源于基础实验课的第一次实验,不过在此基础上提高了难度,综合运用了整个matlab课程中所学到的知识。

第一次关于小球弹跳的实验只是把它的轨迹图用绘图方法制作出来,而且物理情景简单,初始速度为0,高度为1,小相当于竖直下落过程,所以让我想到在此基础上深入挖掘,做一个初始速度、初始高度和衰减系数都可以通过输入来确定,可以描绘出小球弹跳的整个动态过程,而这一切正是matlab仿真技术可以解决的问题,也是体现这门课程的主要特色所在。

关键词初始速度、初始高度、衰减系数、动态、simulink、GUI界面、仿真图形

一、绪论

MATLAB语言是一种以矩阵运算为基础的交互式程序语言。

它集成度高,使用方便,输入简捷,运算高效,内容丰富,并且很容易有用户自行扩展。

与其它计算机语言相比,MATLAB具有以下特点:

(1)、MATLAB是以解释方式工作,输入算是立即得出结果,无需编译,对每条语句解释后立即执行。

若有错误也立即作出反应,便于编程者马上改正。

这些都大大减轻了编程和调试的工作量。

(2)、变量的多功能性。

每个变量代表一个矩阵,可以有mn个元素;

每个元素都可以看做一个复数;

矩阵的行数列数无需定义,MATLAB会根据用户输入的数据形式,自动决定一个矩阵的阶数。

(3)、运算符号的多功能性。

所有的运算,包括加减乘除、函数运算都对矩阵和复数有效。

(4)、语言规则与笔算式相似。

(5)、强大而简易的作图功能。

能根据输入数据自动确定坐标绘图;

能规定多种坐标(极坐标、对数坐标等)绘图;

能绘制三维坐标中的曲线和曲面;

可设置不同的颜色、线型、视角等,如果数据齐全,往往只需要一条命令即可给出相应的图形。

(6)、智能化程度高。

绘图时自动选择最佳坐标,以及按输入或输出变元数自动选择算法等;

做数值积分时自动按精确度选择步长;

自动检测和显示程序错误的能力强,易于调试。

(7)、功能丰富,可扩展性强。

MATLAB软件包括基本部分和专业扩展部分。

基本部分包括:

矩阵的运算和各种变换,代数和超越方程的求解,数据处理和傅里叶变换及数值积分等。

扩展部分称为工具箱,它实际上是用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的专门问题,或某一领域的新算法,现在已经有控制系统、信号处理、图像处理、系统辨识、模糊集合、神经元网络及小波分析等多个工具箱,并且还在继续发展中。

而对于我们信息工程类专业生,学习本课程,重点介绍信号处理、自动控制和通信仿真三个方面的应用,涉及的课程有高等数学,信号与系统、数字信号处理、自动控制原理、数字通信等。

本次课程设计也是在此基础上综合运用所学知识,体现matlab这门语言工具的强大应用功能。

二、作品内容

小球弹跳的具体物理模型是:

小球在某一初始高度h处,以某一初始速度竖直上抛或者竖直下落,假设速度方向向上时为正,初始速度为正时小球表现为竖直上抛运动,初速度为负时表现为竖直下落运动,不考虑空气的阻力。

但是,由于小球在碰地过程中会有能量损失,所以存在衰减系数k(0<

k<

1),小球每次落底反弹后速度都会变成原来的k倍。

本次课程设计主要是先利用simulink搭建模型,描绘出小球弹跳的整个静态图形,最后再制作GUI界面,提供用户输入数据,模拟小球弹跳至结束的整个动态过程,体现每个时刻速度与位移的变化。

三、作品的具体实现

1、对小球弹跳进行数学建模,以及获得每个时刻小球的位移、速度等数据,需要解决一下问题:

(1)、首先应该考虑怎么获得各个时刻速度与位移对应的数据,时间间隔怎么取,考虑到规模比较小,可以规定每隔dt=0.05s个时间取一个时间点,从0时刻到25s取500个点,所以限制了初速度和初始高度的范围,如果超过此范围,小球就不会停下来,不能完成整个过程的仿真。

(2)、小球在y>

0,即小球在上升或者下降过程中,均表现为加速度为-g(-9.8)的匀变速运动。

代码部分表示为:

v=v0+g*(t-T);

%速度

y=h+v0*(t-T)+g*(t-T)^2/2;

%位移

(3)、怎样控制小球在落地时改变速度这一瞬时状态。

在y<

=0时

v0=k*v;

T=t;

%求取每次落地时所用时间

h=0;

2、对整个速度、位移数据进行处理,并描绘成动态图像。

主要运用到的命令:

(1)、图形窗的内容保持命令hold

格式:

holdon

功能:

保持当前图形窗的内容,使后续绘制函数仍可在该图形窗口中完成绘制,完成在一张图中绘制多个图形。

(2)、设置网格线命令gridon

格式:

gridon

功能:

对当前坐标图加上网格线

(3)、程序暂停命令pause

pause(n)

暂停程序的执行,n秒钟之后继续执行

(4)、设计坐标轴刻度函数axis

axis([xmin,xmax,ymin,ymax])

对当前二维图形对象的X轴和Y轴进行标定。

X轴的刻度范围是[xmin,xmax],Y轴的刻度范围是[ymin,ymax]。

(5)、二维图形绘制命令plot

plot(1,y,'

or'

'

MarkerSize'

15,'

MarkerFace'

[1,0,1])

其数据点均用红色圆圈标记,“MarkerSize”表示圆圈的大小为15,模拟小球。

3、simulink系统模型的搭建

需要的模块Constant,Scope,Integrate,Gain,IC

(1)模块如何在落地时改变初速度值V

我们看选项Externalreset,其意义是在外部触发条件下重新计算,点击小三角形,打开下拉菜单,可以看到外部触发条件有none(没有条件),rising(上升时),falling(下落时),either(两者同时),我们是选择下落时触发。

由于是选择falling触发,因此球落地时触发条件起作用,velocity模块以落地时速度的0.8倍反向开

始重新积分,从而实现一次又一次的模拟运动。

初速度的设置还需要有IC,Gain模块,模块初值为15(即开始上抛时的初速度),以后则在触发条件生效时则将由当时的速度V算出的新速度-0.8V重新输入模块velocity中作为新的初速度

(2)怎样控制在落地时才触发

我们需要打开position(位置)模块,limitoutput(限制输出)选项意味着何时产生触发条件,选项中的uppersatuationlimit为inf意味着无论上抛多高都不会产生触发条件,而选项中lowersatuationlimit为0意味着位置为零(即落地时)输出触发条件。

这个条件通过回路输出到模块velocity并引起重新计算速度了。

4、GUI界面的设计

(1)、系统界面设计工具—GUI概述

图形用户界面(graphicaluserinterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(objects)构成的一个用户界面。

用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。

在MATLAB中GUI是一中包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。

GUIDE主要是一个界面设计工具集,MAYLAB将所有GUI支持度控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法。

GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。

FIG文件:

包括GUI图形窗口及其所有后裔的完全描述,包括所有对象属性的属性值。

它是一个二进制文件调用hsave课保存图形窗口时将生车该文件。

M文件包括GUI设计、控件函数以及定义为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。

GUI创建包括界面设计和控件编程两部分,主要步骤如下。

第一步:

通过设置GUIDE应用程序的选项来运行GUIDE;

第二步:

使用界面设计编辑器进行面设计;

第三步:

编写控件行为响应控制(即回调函数)代码。

(2)、界面设计及使用说明

首先我们新建一个GUI文件:

如下图所示:

图15GUI创建界面

选择BlankGUI(Default)。

其次,进入GUI开发环境以后添加两个编辑文本框,3个静态文本框3个动态文本框,和两个个按钮,布置如下图所示;

GUI开发环境

v0=str2double(get(handles.edit1,'

string'

));

h=str2double(get(handles.edit2,'

k=str2double(get(handles.edit3,'

axes(handles.axes4);

axes(handles.axes1);

axes(handles.axes3);

系统运行界面

总结

本次课程设计,基本上完成了最初的作业任务。

并且在原来基础上更加深入的修改和完善了,使作品内容更加丰富,层次鲜明。

本次作业难点在于simulink模块的搭建以及动态实现的方法,simulink这一部分实践的比较少,而且是全英文的应用软件,所以用起来比较陌生,花了不少时间和精力,虽然找了不少资料,但在理解和应用上也有一点的难度,这期间找了很多同学帮忙。

至于制作GUI界面这一部分,总体上还算是比较顺利,参照了其他范例,最终确立了自己的思路,不过在程序运行之后,自己思考和分析了很多问题,即本次设计的缺陷所在,由于整个过程不遵循能量守恒,又存在三个初始变量,所以无法估算出小球在多少时间内能够完成整个过程,所以对用户输入的初始数据实际上还是有一点的限制的。

最后感谢指导老师和同学的帮助。

参考文献

1、朱衡君,MATLAB语言及实践教程第二版。

清华大学:

北京交通大学出版社,2009

2、唐向宏,岳恒立,郑雪峰,MATLAB及在电子信息类课程中的应用第二版,电子工业出版社,2009

3、周小兰,《基于MatlabSimulink的小球弹跳仿真及动画实现》

4、张磊,毕靖,郭莲英.MATLAB实用教程.北京:

人民邮电出版社,2008

5、张威.MATLAB基础与编程入门.西安:

西安电子科技大学出版社,2006

6、周利清,苏菲.数字信号处理基础.北京:

北京邮电大学出版社,2005

指导教师评语

学号

姓名

班级

选题

基于MATLAB有噪声语音信号的处理

序号

评价内容

权重(%)

得分

1

考勤记录、学习态度、工作作风与表现。

5

2

自学情况:

上网检索机时数、文献阅读情况(笔记)。

10

3

论文选题是否先进,是否具有前沿性或前瞻性。

4

成果验收:

是否完成设计任务;

能否运行、可操作性如何等。

20

报告的格式规范程度、是否图文并茂、语言规范及流畅程度;

主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;

是否提出了自己的独到见解。

30

6

文献引用是否合理、充分、真实。

7

答辩情况:

自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。

25

合计

指导教师(签章):

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

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