小球弹跳仿真

上传人:大米 文档编号:547231973 上传时间:2023-03-12 格式:DOCX 页数:14 大小:325.54KB
返回 下载 相关 举报
小球弹跳仿真_第1页
第1页 / 共14页
小球弹跳仿真_第2页
第2页 / 共14页
小球弹跳仿真_第3页
第3页 / 共14页
小球弹跳仿真_第4页
第4页 / 共14页
小球弹跳仿真_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《小球弹跳仿真》由会员分享,可在线阅读,更多相关《小球弹跳仿真(14页珍藏版)》请在金锄头文库上搜索。

1、Matlab 仿真技术作品报告题目:基于 MATLAB 的小球弹跳仿真系(院)专业:班级:学号姓名:指导教师:学年学期:学年第 学期设计任务书课题 名称基于MATLAB的小球弹跳仿真设计 目的1. 利用物理学原理,综合运用matlab工具实现小球弹跳仿真;2. 综合运用专业及基础知识,解决实际工程技术问题的能力;3. 学习资料的收集与整理,学会撰写报告。实验 环境1. 微型电子计算机(PC);2. 安装Windows 2000以上操作系统,MATLAB等开发工具。任务 要求1. 小球在弹跳过程中,有能量损失,即存在损耗系数,最后必然速度变为0停下来, 本次课程设计就是要模拟仿真小球弹跳的整个过

2、程,首先通过使用simulink搭建系 统模型,实现小球弹跳仿真,但这是建立在初始速度、初始高度和衰减系数都已知 的情况下,且描绘的只是整个过程的静态图像,所以通过设计GUI界面,让用户可 以输入任意小球的初速度、初始高度以及衰减系数数值,从而模拟出小球弹跳的整 个过程,要有小球速度的动态变化图,小球的动态轨迹图,以及小球的动态位移图, 从而使整个过程清晰明了。2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求, 注意材料收集与整理;3. 结束后,及时提交作品报告(含纸质稿、电子稿),要求格式规范、内容完整、结论 正确,正文字数不少于1500字(不含代码)。摘要 ma

3、tlab 的应用领域非常广泛,从基本的线性代数、泛函分析,到应用广泛 的信号处理、可控制系统、通信系统,直到神经网络、小波理论等最新技术领域。 为了体现 matlab 这个语言工具的应用,所以以本次课程设计为小小的实例,来体现 它的应用价值。本次课程设计思想来源于基础实验课的第一次实验,不过在此基础 上提高了难度,综合运用了整个matlab课程中所学到的知识。第一次关于小球弹跳 的实验只是把它的轨迹图用绘图方法制作出来,而且物理情景简单,初始速度为 0, 高度为 1,小相当于竖直下落过程,所以让我想到在此基础上深入挖掘,做一个初 始速度、初始高度和衰减系数都可以通过输入来确定,可以描绘出小球弹

4、跳的整个 动态过程,而这一切正是matlab仿真技术可以解决的问题,也是体现这门课程的主 要特色所在。关键词初始速度、初始高度、衰减系数、动态、simulink、GUI界面、仿真图形绪论MATLAB语言是一种以矩阵运算为基础的交互式程序语言。它集成度高,使用 方便,输入简捷,运算高效,内容丰富,并且很容易有用户自行扩展。与其它计算 机语言相比, MATLAB 具有以下特点:(1)、MATLAB 是以解释方式工作,输入算是立即得出结果,无需编译,对每 条语句解释后立即执行。若有错误也立即作出反应,便于编程者马上改正。这些都 大大减轻了编程和调试的工作量。(2)、变量的多功能性。每个变量代表一个矩

5、阵,可以有 mn 个元素;每个元 素都可以看做一个复数;矩阵的行数列数无需定义, MATLAB 会根据用户输入的数 据形式,自动决定一个矩阵的阶数。(3)、运算符号的多功能性。所有的运算,包括加减乘除、函数运算都对矩阵 和复数有效。(4)、语言规则与笔算式相似。(5)、强大而简易的作图功能。能根据输入数据自动确定坐标绘图;能规定多 种坐标(极坐标、对数坐标等)绘图;能绘制三维坐标中的曲线和曲面;可设置不 同的颜色、线型、视角等,如果数据齐全,往往只需要一条命令即可给出相应的图 形。(6)、智能化程度高。绘图时自动选择最佳坐标,以及按输入或输出变元数自 动选择算法等;做数值积分时自动按精确度选择

6、步长;自动检测和显示程序错误的 能力强,易于调试。、(7)、功能丰富,可扩展性强。 MATLAB 软件包括基本部分和专业扩展部分。 基本部分包括:矩阵的运算和各种变换,代数和超越方程的求解,数据处理和傅里 叶变换及数值积分等。扩展部分称为工具箱,它实际上是用 MATLAB 的基本语句 编成的各种子程序集,用于解决某一方面的专门问题,或某一领域的新算法,现在 已经有控制系统、信号处理、图像处理、系统辨识、模糊集合、神经元网络及小波 分析等多个工具箱,并且还在继续发展中。而对于我们信息工程类专业生,学习本课程,重点介绍信号处理、自动控制和 通信仿真三个方面的应用,涉及的课程有高等数学,信号与系统、

7、数字信号处理、 自动控制原理、数字通信等。本次课程设计也是在此基础上综合运用所学知识,体现 matlab 这门语言工具的强大应用功能。二、 作品内容小球弹跳的具体物理模型是:小球在某一初始高度h处,以某一初始速度竖直 上抛或者竖直下落,假设速度方向向上时为正,初始速度为正时小球表现为竖直上 抛运动,初速度为负时表现为竖直下落运动,不考虑空气的阻力。但是,由于小球 在碰地过程中会有能量损失,所以存在衰减系数k(Ovkvl),小球每次落底反弹后速 度都会变成原来的k倍。本次课程设计主要是先利用simulink搭建模型,描绘出小 球弹跳的整个静态图形,最后再制作GUI界面,提供用户输入数据,模拟小球

8、弹跳 至结束的整个动态过程,体现每个时刻速度与位移的变化。三、作品的具体实现1、对小球弹跳进行数学建模,以及获得每个时刻小球的位移、速度等数据,需 要解决一下问题:(1) 、首先应该考虑怎么获得各个时刻速度与位移对应的数据,时间间隔怎么 取,考虑到规模比较小,可以规定每隔dt=0.05s个时间取一个时间点,从0时刻到 25s 取 500 个点,所以限制了初速度和初始高度的范围,如果超过此范围,小球就 不会停下来,不能完成整个过程的仿真。(2) 、小球在y0,即小球在上升或者下降过程中,均表现为加速度为-g(-9.8) 的匀变速运动。代码部分表示为:v=v0+g*(t-T);%速度y=h+v0*

9、(t-T)+g*(t-T)人2/2;% 位移(3) 、怎样控制小球在落地时改变速度这一瞬时状态。在y=0时 代码部分表示为:v0=k*v;T=t;%求取每次落地时所用时间h=0;2、对整个速度、位移数据进行处理,并描绘成动态图像。主要运用到的命令:(1)、图形窗的内容保持命令 hold格式:hold on功能:保持当前图形窗的内容,使后续绘制函数仍可在该图形窗口中完成 绘制,完成在一张图中绘制多个图形。(2)、设置网格线命令 grid on格式: grid on功能:对当前坐标图加上网格线(3)、程序暂停命令 pause格式: pause(n)功能:暂停程序的执行,n秒钟之后继续执行(4)、设

10、计坐标轴刻度函数 axis格式: axis( xmin,xmax,ymin,ymax)功能:对当前二维图形对象的X轴和Y轴进行标定。X轴的刻度范围是 xmin,xmax, Y 轴的亥U度范 围是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我们看选项 E

11、xternal reset, 其意义是在外部触发条件下重新计算, 点击小三角 形, 打开下拉菜单, 可以看到外部触发条件有 none( 没有条件) , rising( 上升时) , falling( 下落时) , either( 两者同时) , 我们是选择下落时触发。由于是选择 falling 触 发, 因此球落地时触发条件起作用, velocity 模块以落地时速度的 0.8 倍反向开 始重新积分, 从而实现一次又一次的模拟运动。初速度的设置还需要有 IC, Gain 模 块, 模块初值为 15( 即开始上抛时的初速度) , 以后则在触发条件生效时则将由当 时的速度 V 算出的新速度- 0.

12、8V 重新输入模块 velocity 中作为新的初速度(2)怎样控制在落地时才触发我们需要打开 position( 位置) 模块, limit output( 限制输出) 选项意味着何时产 生触发条件, 选项中的 upper satuationlimit 为 inf 意味着无论上抛多高都不会产生 触发条件, 而选项中 lower satuation limit 为 0 意味着位置为零( 即落地时) 输出触发条件。这个条件通过回路输出到模块 velocity 并引起重新计算速度了。最 t:fflulinklq 巨1EIFile- Edit View SimuiatiDn Format 口口1舌

13、Help:1:二卜閻 曲”一二1 些扭戯:| 辛 E3IEeadyH ScopeliXr*口站51口回u 1O自躋園200246 B 10121416320Time offset: D回252015105101214161820M Scopelfi 辺力Ps -0丄02Time offset: 04、GUI 界面的设计(1) 、系统界面设计工具一GUI概述图形用户界面(graphical user interfaces , GUI)则是由窗口、光标、按键、菜 单、文字说明等对象(objects)构成的一个用户界面。用户通过一定的方法(如鼠 标或键盘)选择、激活这些图形对象,使计算机产生某种动作

14、或变化,比如实现计 算、绘图等。在MATLAB中GUI是一中包含多种对象的图形窗口,并为GUI开发 提供一个方便高效的集成开发环境 GUIDE。 GUIDE 主要是一个界面设计工具集, MAYLAB 将所有 GUI 支持度控件都集成在这个环境中,并提供界面外观、属性和 行为响应方式的设置方法。GUIDE将设计好的GUI保存在一个FIG文件中,同时 生成 M 文件框架。FIG 文件:包括 GUI 图形窗口及其所有后裔的完全描述,包括所有对象属性 的属性值。它是一个二进制文件调用hsave课保存图形窗口时将生车该文件。M文 件包括GUI设计、控件函数以及定义为子函数的用户控件回调函数,主要用于控制

15、 GUI 展开时的各种特征。 GUI 创建包括界面设计和控件编程两部分,主要步骤如 下。第一步:通过设置GUIDE应用程序的选项来运行GUIDE;第二步:使用界面 设计编辑器进行面设计;第三步:编写控件行为响应控制(即回调函数)代码。(2) 、界面设计及使用说明首先我们新建一个GUI文件:File/New/GUI如下图所示:BlankJ&iUl (Default)GUD Quick StartCreate New GUIBLANKBrowse.Open Easting GUICancel硕 GUI with Uicontrols; GUI with es and Menu ModalCiJjestion DialogSave on startup asGUIDE templatersPreviewE:M3tl a b wo rku ntitled3.fi g图 15 GUI 创建界面选择 Blank GUI(Default)。其次

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

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