基于MatlabSimulink的小球弹跳仿真及动画实现
matlab弹跳球模型
弹跳球仿真模型一、设计要求一弹跳球从10m高处以15m/s的速度向上抛出,用matlab软件仿真其运动轨迹并将其用三维动画显示。
二、设计目的1、熟悉并掌握matlab软件的使用2、掌握simulink下物理模型的建立与仿真3、掌握Matlab/simulink仿真结果的三维动画的显示方法三、设计步骤1、弹跳球的原理分析:弹跳球的运动过程就是一个能量转换的过程,当小球从10m的高度以15m/s的速度垂直向上抛出时,动能转换为重力势能,做匀减速直线运动,上升至最高点开始下降,小球向下运动做匀加速直线运动,重力势能转换为动能,当接触地面后动能转换为弹性势能,弹性势能又转换为动能,小球又开始向上运动,如此循环,由于能量的损耗,小球运动的高度和速度逐渐减小,能量损耗完后小球将停止运动。
其物理模型为Vt=V0-gt,h=V0t-1/2gt2。
2、用simulink建立仿真模型利用simulink环境建立起一个如下图所示的带三维动画显示的仿真框图。
该框图主要用了二阶积分模块实现小球下落速度和高度的计算,用VR SINK模块仿真三维动画。
3、主要模块分析(1)二阶积分模块:d2g/dt2=h,dg/dt=v 其中的h表示小球运动的高度,v表示速度(2)VR SINK模块打开V-realm Builder 2.0 软件,建立如下图所示VRML语言文件,包含两个对象,地面和球,球的scale设置为[1.5,1.5,1.5,0.1],translation设置为[0,10,0,0.1],其它设置默认就可,保存为vrbounce111.wrl文件。
将VR SINK模块复制到仿真模型时,该模块并没有输入端口,因为尚未建立起该模块和场景的关联。
双击该模块,将得出虚拟现实输入模块对话框,这时右侧的VRML tree中将出现相关属性的树状结构。
展开ball 对象,选中其translation属性,这样模块就会自动生成一个输入端口ball.translation. 如下图所示:4、调试与仿真用simullink建立仿真模型后,进行仿真和调试得到如图所示的波形图:图1 弹跳球高度的变化情况图2 弹跳球的速度变化情况弹跳球的三维动画可在所附文件里查看。
基于MATLAB/Simulink的蹦极跳系统仿真模型
基于MATLAB/Simulink的蹦极跳系统仿真模型
王芳;王玉柱;王晓东
【期刊名称】《训练与科技》
【年(卷),期】2006(027)002
【摘要】一、SIMULINK仿真软件介绍 SIMULINK是MATLAB软件下的一个附加组件,是用来提供一个系统级的建模与动态仿真的工具平台,在其下提供了丰富的仿真模块。
一般来说,可以很容易地利用鼠标在模型窗口中建立所需要的控制——系统模型,然后利用其提供的功能对系统进行仿真与分析,使得一个复杂系统的输入输出以及控制变得相当的简单和直观。
【总页数】4页(P90-93)
【作者】王芳;王玉柱;王晓东
【作者单位】后勤工程学院训练部;后勤工程学院后勤信息工程系;后勤工程学院研究生三队
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于MATLAB&Simulink的蹦极跳系统的仿真设计与分析
2.基于
MATLAB/SIMULINK双馈风力发电机仿真模型的研究3.基于四参数模型的光伏阵列Matlab/Simulink仿真模型4.基于MATLAB/SIMULINK的智能电表寿命预测仿真模型5.基于Matlab/Simulink的光伏电池工程用仿真模型
因版权原因,仅展示原文概要,查看原文内容请购买。
Matlab系列之Simulink仿真教程
交互式仿真
Simulink支持交互式 仿真,用户可以在仿 真运行过程中进行实 时的分析和调试。
可扩展性
Simulink具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
基于MatlabSimulink的小球弹跳仿真及动画实现
在 距 离 地 面 10 米 处 以 15 米/秒 的 初 速 度 垂 直 向 上 抛 出 一 个 小球, 不考虑空气阻力, 但每次落地反弹时速度降为原来速度的 80%, 作此问题的数 值 仿 真 , 并 利 用 仿 真 所 获 得 的 高 度 数 据 , 编 写 一个仿真程序模拟小球运动。
关键词: Simulink; 建模; 仿真 中图分类号: TP 319 文献标识码: A 文章编号: 1009- 3044(2007)01- 10181- 02
The S imulation of Bouncing Ball Bas ed on the Matlab S imulink ZHOU Xiao- yun
本栏目责任编辑: 谢媛媛
然后新建一个 M 文件 highball.m, 在其内写入如下代码:
figure(1); axis([- 5.1,4,- 0.05,25]);%显坐标 hold on; grid on;%显示网格 title(' 球下落过程演示 ') fill([- 5.1,- 5,- 5,- 5.1],[- 0.05,- 0.05,25,25],[0,0.5,0.5]); fill([4.12,4.22,4.22,4.12],[- 0.05,- 0.05,25,25],[0,0.5,0.5]); fill([- 5,4.12,4.12,- 5],[- 0.05,- 0.05,0,0],[0,0.5,0.5]); head=line(- 1,0.5,'color','y','linestyle','.','erasemode','xor','mark- ersize' ,72); x=- 1; for i=1:10 %因 为 一 次 仿 真 过 程 时 间 很 短 , 为 方 便 观 看 , 故 循环再现。
小球弹跳仿真
Matlab仿真技术作品报告题目:基于MATLAB的小球弹跳仿真系(院):专业:班级:学号:姓名:指导教师:学年学期:~ 学年第学期年月日设计任务书摘要matlab的应用领域非常广泛,从基本的线性代数、泛函分析,到应用广泛的信号处理、可控制系统、通信系统,直到神经网络、小波理论等最新技术领域。
为了体现matlab这个语言工具的应用,所以以本次课程设计为小小的实例,来体现它的应用价值。
本次课程设计思想来源于基础实验课的第一次实验,不过在此基础上提高了难度,综合运用了整个matlab课程中所学到的知识。
第一次关于小球弹跳的实验只是把它的轨迹图用绘图方法制作出来,而且物理情景简单,初始速度为0,高度为1,小相当于竖直下落过程,所以让我想到在此基础上深入挖掘,做一个初始速度、初始高度和衰减系数都可以通过输入来确定,可以描绘出小球弹跳的整个动态过程,而这一切正是matlab仿真技术可以解决的问题,也是体现这门课程的主要特色所在。
关键词初始速度、初始高度、衰减系数、动态、simulink、GUI 界面、仿真图形一、绪论MATLAB语言是一种以矩阵运算为基础的交互式程序语言。
它集成度高,使用方便,输入简捷,运算高效,内容丰富,并且很容易有用户自行扩展。
与其它计算机语言相比,MATLAB具有以下特点:(1)、MATLAB是以解释方式工作,输入算是立即得出结果,无需编译,对每条语句解释后立即执行。
若有错误也立即作出反应,便于编程者马上改正。
这些都大大减轻了编程和调试的工作量。
(2)、变量的多功能性。
每个变量代表一个矩阵,可以有mn 个元素;每个元素都可以看做一个复数;矩阵的行数列数无需定义,MATLAB会根据用户输入的数据形式,自动决定一个矩阵的阶数。
(3)、运算符号的多功能性。
所有的运算,包括加减乘除、函数运算都对矩阵和复数有效。
(4)、语言规则与笔算式相似。
(5)、强大而简易的作图功能。
能根据输入数据自动确定坐标绘图;能规定多种坐标(极坐标、对数坐标等)绘图;能绘制三维坐标中的曲线和曲面;可设置不同的颜色、线型、视角等,如果数据齐全,往往只需要一条命令即可给出相应的图形。
基于MATLABSimulink的动态仿真的事例
2 3
4
MATLAB/Simulink应用实例 MATLAB/Simulink应用实例
1、背景知识 、 什么是系统仿真 什么是系统仿真? 是系统仿真
LOGO
系统仿真是建立在控制理论、相似理论、信 息处理技术和计算技术等理论基础之上的,以计 算机和其它专用物理效应设备为工具,利用系统 模型对真实或假想的系统进行试验,并借助于专 家经验知识、统计数据和信息资料对试验结果进 行分析研究,进而做出决策的一门综合性的和试 验性的学科。 在工程技术界,系统仿真是指通过对系统模 型的试验,间接地获取原形的规律性认识
LOGO
LOGO
例:已知系统模型G(s)= 期为5s的方波信号作用下的响应。
M文件代码 文件代码
,计算系统在周
响应曲线
Thank you
MATLAB的语言特点
编程效率高 使用方便 高效方便的科学计算 先进的可视化工具 开放性,可扩展性强 运行时动态连接外部C或FORTRAN C FORTRAN应用函数 MATLAB及其他标准格式的数据文件 输入输出各种MATLAB 特殊应用工具箱 高效仿真工具Simulink Simulink
MATLAB的模块构成
LOGO
SIMULINK是一个进行动态系统建模、仿真和综合分析的集 是一个进行动态系统建模、 是一个进行动态系统建模 成软件包。它可以处理的系统包括:线性、非线性系统; 成软件包。它可以处理的系统包括:线性、非线性系统;离 连续及混合系统;单任务、 散、连续及混合系统;单任务、多任务离散事件系统 SIMULINK 提供的图形用户界面 提供的图形用户界面GUI上,只要进行鼠标的简 上 单拖拉操作就可构造出复杂的仿真模型。 单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形 式呈现,且采用分层结构。 式呈现,且采用分层结构。 从建模角度讲,这既适于自上而下( 从建模角度讲,这既适于自上而下(Top-down)的设计流 ) 概念、功能、系统、子系统、直至器件), ),又适于自下 程(概念、功能、系统、子系统、直至器件),又适于自下 而上( 而上(Bottum-up) 逆程设计。 ) 逆程设计。 从分析研究角度讲, 从分析研究角度讲,这种 SIMULINK 模型不仅能让用户知 道具体环节的动态细节,而且能让用户清晰地了解各器件、 道具体环节的动态细节,而且能让用户清晰地了解各器件、 各子系统、各系统间的信息交换, 各子系统、各系统间的信息交换,掌握各部分之间的交互影 响。 SIMULINK 环境中,用户将观察到现实世界中非线性因素 环境中, 和各种随机因素对系统行为的影响。 和各种随机因素对系统行为的影响。 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣的 环境中, 参数,实时地观察系统行为的变化。 参数,实时地观察系统行为的变化。
基于Simulink/MEX编程的MATLAB仿真教学动画演示
基于Simulink/MEX编程的MATLAB仿真教学动画演示摘要:给出一种基于MATLAB S函数和MEX编程的仿真过程动画显示模块实现方法,利用S函数实现动画显示窗口管理和动画帧的显示,通过MEX函数来利用其他编程语言和图形函数库实现动画帧便捷美观的绘制,最终实现仿真过程动画显示。
通过此方法得到的S函数模块可集成到Simulink模型中,方便地提供仿真过程的动画演示。
关键词:MATLAB;Simulink;MEX编程;仿真动画MATLAB®是一种高级工程计算语言,也是算法开发、数据可视化、数据分析、数值计算的交互式应用环境;Simulink®提供了强大的动态系统建模、仿真与分析功能。
MATLAB/Simulink强大的科学计算、仿真和可视化功能,使其不仅在工程设计开发领域应用广泛,在课堂教学中也得到了关注与重视,各学科中的各类基于MATLAB的教学软件与工具包不断涌现[1-3]。
虽然MATLAB能方便地显示系统趋势曲线,但对于课堂教学而言,学生对于曲线形式的数据或趋势难有感性把握,而更能接受生动的动画形式的系统演化过程展示。
这恰恰就是已有的各种MATLAB/ Simulink工具包所十分欠缺的部分。
已有的MATLAB图形函数也难以绘制复杂生动的动画,使目前绝大部分常见的MATLAB教学应用都主要基于曲线绘制,很少见到动画形式的过程演示。
文献[4]中虽然在特定MATLAB工具箱中提供的动画生成S函数中进行了适当修改来进行无人飞行器仿真过程的动画显示,但在文中并未对动画显示模块的构造和实现进行详细介绍。
本文研究的目的就在于寻找一种方法,能够利用已有编程语言的图形函数库来方便地绘制美观的动画帧,并能通过自定义的S函数模块恰当地调用动画帧绘制函数来加以显示,最终实现仿真过程美观流畅的动画演示。
1Simulink动画模块的S函数实现框架S函数是Simulink模块的计算机语言描述,可以利用MATLAB语言或C、C++、Fortran语言来编写。
小球在空气阻力下弹跳实验的建模与仿真
第31卷第4期大学物理实验Vol.31No.42018年8月PHYSICALEXPERIMENTOFCOLLEGEAug.2018收稿日期:2018 ̄03 ̄15基金项目:江苏省现代教育技术研究课题(2018 ̄R ̄63814)文章编号:1007 ̄2934(2018)04 ̄0069 ̄04小球在空气阻力下弹跳实验的建模与仿真张㊀林(南京林业大学ꎬ江苏南京㊀210037)摘要:使用Matlab/Simulink软件ꎬ建立了小球在空气阻力下反复弹跳的实验模型ꎬ讨论了小球在不同空气阻尼系数下的位移和速度ꎬ加深了学生对质点落体运动以及碰撞问题的认识ꎮ关键词:弹跳运动ꎻMatlab/Simulinkꎻ空气阻尼中图分类号:O4 ̄39文献标志码:ADOI:10.14139/j.cnki.cn22 ̄1228.2018.04.018㊀㊀物体在空气中运动时ꎬ会受到空气阻力ꎬ阻力的方向与速度方向相反ꎮ研究表明[1ꎬ2]:空气对运动物体的阻力大小ꎬ与物体运动的速度有关ꎮ当物体做低速运动时ꎬ空气阻力正比于物体的运动速率ꎻ当物体高速运动时ꎬ它所受到的空气阻力则正比于速率的平方ꎮ这个结论只适用于特定的实验环境ꎬ因为物体所受的空气阻力还会受到其形状㊁大小㊁密度㊁光滑度以及环境等诸多因素[3 ̄7]的制约ꎬ因此在不同时间㊁地点下测量ꎬ可能会得到不同的结论ꎮ所以ꎬ我们希望通过Matlab/Simulink仿真软件建立小球在不同空气阻尼系数下做弹跳运动的虚拟实验模型ꎬ通过改变模型中的控制参数ꎬ来研究小球的运动状态ꎬ从而加深学生对质点动力学问题的认识和理解ꎮ1㊀小球弹跳实验的动力学方程考虑一个质量为mꎬ可看成质点的刚性小球ꎬ在地面上反复弹跳ꎬ以地面为坐标原点ꎬ竖直向上为正方向ꎬ建立一维的坐标系ꎬ如图1所示ꎮ图1 小球的下落和上升过程图左(右)边分别表示小球在下落(上升)过程中所受到的重力mg和空气阻力f=k|v|αꎬ其中|v|表示小球的速率ꎬk是空气阻尼系数ꎬα是空气阻尼指数因子ꎮ根据牛顿第二定律ꎬ小球下落过程的动力学方程可表示为:ma=-mg+k|v|α(1)同理ꎬ上升过程的动力学方程可表示为ma=-mg-k|v|α(2)利用小球下落过程的速度v<0ꎬ上升过程v>0ꎬ可以合并(1)式和(2)式:ma=-mg-kv|v|α-1即a=-g-kmv|v|α-1(3)若小球不受到空气阻力(k=0)时ꎬ则小球在竖直方向做自由落体运动ꎬ其运动方程可表示为:x(t)=x0+v0t+12gt2(4)若空气阻尼指数因子α=1时ꎬ其运动方程为:x(t)=x0-mkgt+mkv0+mkgæèçöø÷1-e-ktm()(5)其中x0表示小球的初始位置ꎬv0表示初速度ꎮ在实际过程中ꎬ空气阻尼指数因子α取非整数ꎬ则(3)式没有解析解ꎬ只能得到数值解ꎬ因此通过Matlab/Simulink仿真平台来模拟小球真实的运动过程是非常有效的ꎮ另外ꎬ小球与地面的碰撞是非弹性碰撞ꎬ其第i次碰撞的恢复系数可定义为:β=vivi0(6)其中vi0和vi分别表示小球与地面碰撞前后的初速度和末速度ꎬ因为vi0<0且vi>0ꎬ则碰撞恢复系数的取值范围是-1£β£0ꎮ若β=-1表示完全弹性碰撞ꎬβ=0则表示完全非弹性碰撞ꎮ2㊀小球弹跳实验的Simulink建模与仿真㊀㊀将使用Matlab/Simulink仿真软件ꎬ对小球在空气阻力下的动力学方程(3)式进行建模ꎬ并得到小球在不同的实验条件下的运动状态ꎮ在图2所示的Matlab/Simulink仿真框图中ꎬ建立一个常数模块gꎬ设置为(3)式中小球的重力加速度ꎮ因为小球的加速度a依赖于速度vꎬ因此需要建立一个二阶积分(IntegratorSecond ̄Order)模块ꎬ通过设置外触发模式ꎬ来设置小球的初速度v0和初位置x0ꎬ并且将瞬时速度v取绝对值|v|ꎬ并经过幂乘因子α-1ꎬ与重力加速度加减组合ꎬ就能实现(3)式等号的右边ꎬ再作为输入量循环积分ꎬ便能得到小球在空气阻力下运动的位移和速度ꎬ并通过虚拟示波器Scope输出图像ꎮ另外ꎬ对于小球与地面之间非弹性碰撞的处理ꎬ我们是通过一个记忆(Memory)模块和一个增益(Gain)模块来实现的ꎮ当小球位移不为0时ꎬ初速度将保持上一个记忆ꎬ否则将按照(5)式ꎬ碰撞前的速度乘上恢复系数βꎬ得到碰撞后的速度ꎬ重新计算小球上升过程的运动方程和速度ꎮ在完成Matlab/Simulink建模后ꎬ为了得到小球的运动方程和速度ꎬ需要设定虚拟实验的参数:取小球质量m为0.003kgꎬ重力加速度g=-9.8m/sꎬ小球的初位置x0=10mꎬ初速度v0=15m/sꎮ图2㊀小球在空气阻力下运动的Simulink仿真框图㊀㊀图3是不考虑空气阻力k=0ꎬ且小球与地面发生完全弹性碰撞(恢复系数β=-1)时的仿真图像ꎮ上图是小球的位置x随时间t的变化曲线ꎬ下图是小球的速度v与时间t的曲线ꎮ从图中可以看出ꎬ位置与时间满足x=x0+v0t+12gt2的经典关系ꎬ当t=v0g=1.53sꎬ小球的速度等于0ꎬ并且07小球在空气阻力下弹跳实验的建模与仿真处于最高点21.5mꎮ当t=3.6s时ꎬ小球第一次下落到地面x=0且速度达到负的最大v=-20.5m/sꎬ并与地面发生弹性碰撞ꎬ以原速度大小反方向弹起ꎬ然后作高度不衰减的周期性弹跳运动ꎬ其弹跳周期近似为4.14sꎮ图3㊀空气阻尼系数k=0Ns/mꎬ且恢复系数β=-1.0时ꎬ小球的位置和速度曲线图4㊀阻尼系数k=0.001Ns/mꎬα=1.1且恢复系数β=-0.8时ꎬ小球的位置和速度曲线17小球在空气阻力下弹跳实验的建模与仿真㊀㊀图4是空气阻尼系数k=0.001Ns/mꎬα=1.1且小球与地面发生非弹性碰撞(恢复系数β=-0.8)时的仿真图像ꎮ如图所示ꎬ虽然位置x仍然近似满足抛物线型曲线ꎬ但是由于空气阻力的存在ꎬ小球运动的最高点要小于20mꎮ另一方面ꎬ由于小球与地面的碰撞是非弹性碰撞ꎬ存在机械能E的损失ꎬ这也加剧了小球反弹后的高度和速度不断地衰减ꎬ经过有限次数的碰撞后ꎬ小球最终会停止运动ꎮ小球的机械能E随时间t的变化ꎬ也可以从弹跳最大高度的变化估算出:E~e-ktmꎬ这与理论结果(5)式是近似符合的ꎮ此外ꎬ小球与地面的碰撞时间间隔也会随着碰撞次数的增加而不断地减小ꎮ3㊀结㊀论利用Matlab/Simulink软件构建了小球在空气阻力下做落体运动的虚拟实验模型ꎬ讨论了小球在无空气阻力ꎬ且与地面发生完全弹性碰撞的无阻尼弹跳ꎬ以及存在空气阻力ꎬ且有碰撞能量损失的阻尼弹跳ꎬ仿真结果与经典理论相符合ꎬ加深了学生对质点动力学问题的认识和理解ꎮ参考文献:[1]㊀蔡志东ꎬ陆建隆.考虑空气阻力时铅球最佳投射角的参数方程和实用方程[J].大学物理ꎬ2006ꎬ25(10):16 ̄22.[2]㊀马文蔚ꎬ解希顺ꎬ周雨青.物理学[M].北京:高等教育出版社.2006:41 ̄42.[3]㊀陈皓ꎬ朱世峰.锥体下落过程的空气阻力[J].河北师范大学学报:自然科学版ꎬ2011ꎬ35(3):265 ̄268. [4]㊀夏清华ꎬ张建华ꎬ杨德军.弹跳球运动的理论分析与数值研究[J].大学物理ꎬ2006ꎬ25(6):16 ̄19. [5]㊀代超超ꎬ杨凯ꎬ龙姝明.空气阻力与球体运动速度的函数关系[J].物理与工程ꎬ2013ꎬ23(4):61 ̄64. [6]㊀刘扬正ꎬ钱仰德.测定不同形状物体空气阻力系数的实验[J].大学物理ꎬ2017ꎬ36(3):16 ̄19. [7]㊀李艳琴.多功能球一球碰撞实验仪的研制[J].大学物理实验ꎬ2016(6):94 ̄97.ModelingandSimulationofaBouncingBallExperimentunderAirFrictionForceZHANGLin(NanjingForestryUniversityꎬJiangsuNanjing210037)Abstract:TheMatlab/Simulinksoftwarewasusedtoestablishanexperimentalmodeloftheballbouncedre ̄peatedlyunderairresistance.Thedisplacementandvelocityoftheballunderdifferentairdampingcoefficientswerediscussedꎬwhichdeepenedstudents understandingoftheparticlefallingandcollisionproblems.Keywords:bouncingballꎻMatlab/Simulinkꎻairdamping27小球在空气阻力下弹跳实验的建模与仿真。
面向教学的Matlab/Simulink仿真动画实现
真动 画 , 因此 只采 用 了更 便 于使用 Malb各 工具 箱 t a
函 数 的 M al t b语 言 来 实 现 S函 数 。 a Smuik进 行 仿 真 的 主 要 流 程 步 骤 单起 见 , 示 意 图仅 给 出了相 关 的主 要 步 该
( . olg f E et i l n n o ma in E g n e i g,Hu a ie s y,C a g h 0 2 hn 1 C le e lcrc d I f r t n ie rn o aa o n nUnv ri t h n sa 4 8 ,C ia 1 0
收稿 日期 :0 00—3 修 回 日期 :0 01-4 2 1 80 ; 2 1— 12
作者 简 介 : 斯 羽 (9 5) 男 , 郭 1 7 一, 博士 , 副教 授 , 主要 从 事 图 像 处 理 、 器 视 觉 、 统 建模 与 仿真 的研 究 工 作 , — i sg o 5 13 cr; 机 系 E mal y u7 @ 6 .o : n
唐
璐 (9 8) 男 , 士 , 师 , 17一, 博 讲 主要 从 事 系 统 工 程 、 统 建 模 与 仿 真 的 研 究 工 作 ,— i tn l 1 6 cr 系 E mal a g@ 2 .o : n
8 6
电气 电子 教 学 学 报
第 3 卷 3
文献 [ ] 然在特 定 Malb工 具箱 中对提 供 的动 画 5虽 t a 生成 s函数 进行 了适 当修 改来进 行无 人飞行 器仿 真
过程 的动 画显示 , 文 中并 未介 绍 动 画显 示模 块 的 但 构造 和实现 。
本 文 给 出 了 一 种 利 用 Smuik的 S 函 数 以 及 i l n
基于Matlab的小球自由落体仿真实现
基于Matlab的小球自由落体仿真实现
祝浩喆;罗强英
【期刊名称】《电子工业专用设备》
【年(卷),期】2018(47)2
【摘要】利用Matlab仿真了小球自由落体运动,并实现小球自由落体运动的动画演示.该方法首先根据高中物理中自由落体运动知识设置小球下落时的高度、初速度、加速度等参数;并由Matlab函数绘制小球自由落体的每一帧图片以及每一帧图片上小球的位置、颜色等;最后将图片合成出小球自由落体运动视频.仿真实验结果验证了小球自由落体运动与物理自由落体原理的一致性.该动画演示视频便于理解自由落体运动知识,增强学习MATLAB程序编写的兴趣.
【总页数】3页(P71-73)
【作者】祝浩喆;罗强英
【作者单位】江西省高安中学,江西高安 330800;江西省高安中学,江西高安330800
【正文语种】中文
【中图分类】TN605
【相关文献】
1.基于Matlab Simulink的小球弹跳仿真及动画实现 [J], 周小云
2.基于MATLAB的自由落体运动仿真 [J], 李文莹
3.基于Matlab面向对象编程的电气化铁路牵引仿真算法实现 [J], 白小伟;段成刚;
郭磊
4.基于Matlab与STK的卫星信关站部署仿真平台实现 [J], 柳敏;杨丹丹;王永兵
5.基于MATLAB松组合导航的仿真实验内容设计和实现 [J], 符强;任风华;贾茜子;刘庆华;赵中华;孙安青
因版权原因,仅展示原文概要,查看原文内容请购买。
小球弹跳仿真
Matlab仿真技术作品报告题目:基于MATLAB的小球弹跳仿真系(院):专业:班级:学号:姓名:指导教师:学年学期:~ 学年第学期年月日设计任务书摘要matlab的应用领域非常广泛,从基本的线性代数、泛函分析,到应用广泛的信号处理、可控制系统、通信系统,直到神经网络、小波理论等最新技术领域。
为了体现matlab这个语言工具的应用,所以以本次课程设计为小小的实例,来体现它的应用价值。
本次课程设计思想来源于基础实验课的第一次实验,不过在此基础上提高了难度,综合运用了整个matlab课程中所学到的知识。
第一次关于小球弹跳的实验只是把它的轨迹图用绘图方法制作出来,而且物理情景简单,初始速度为0,高度为1,小相当于竖直下落过程,所以让我想到在此基础上深入挖掘,做一个初始速度、初始高度和衰减系数都可以通过输入来确定,可以描绘出小球弹跳的整个动态过程,而这一切正是matlab仿真技术可以解决的问题,也是体现这门课程的主要特色所在。
关键词初始速度、初始高度、衰减系数、动态、simulink、GUI 界面、仿真图形一、绪论MATLAB语言是一种以矩阵运算为基础的交互式程序语言。
它集成度高,使用方便,输入简捷,运算高效,内容丰富,并且很容易有用户自行扩展。
与其它计算机语言相比,MATLAB具有以下特点:(1)、MATLAB是以解释方式工作,输入算是立即得出结果,无需编译,对每条语句解释后立即执行。
若有错误也立即作出反应,便于编程者马上改正。
这些都大大减轻了编程和调试的工作量。
(2)、变量的多功能性。
每个变量代表一个矩阵,可以有mn 个元素;每个元素都可以看做一个复数;矩阵的行数列数无需定义,MATLAB会根据用户输入的数据形式,自动决定一个矩阵的阶数。
(3)、运算符号的多功能性。
所有的运算,包括加减乘除、函数运算都对矩阵和复数有效。
(4)、语言规则与笔算式相似。
(5)、强大而简易的作图功能。
能根据输入数据自动确定坐标绘图;能规定多种坐标(极坐标、对数坐标等)绘图;能绘制三维坐标中的曲线和曲面;可设置不同的颜色、线型、视角等,如果数据齐全,往往只需要一条命令即可给出相应的图形。
MATLAB8.5教程第10章 Simulink动态仿真
• • • •
• 2.仿真过程的步骤
• (1)打开一个空白的模型窗口。 • (2)打开Simulink模块库浏览界面,将相应模块库中所需的模块 拖到模型窗口里。 • (3)设置各个模块的参数。双击需要进行参数设置的模块,在弹 出的对话框中,上半部分为参数说明,仔细阅读可以帮助用户设 置参数;下半部分供用户填写模块参数。 • (4)用信号线将各个模块连接起来,搭建所需要的系统模型。 • (5)设置仿真参数。在模型窗口选择菜单 “Simulink”→“Model Configuration Parameters”命令,打开 仿真参数设置对话框,设置仿真参数。 • (6)启动仿真。选择模型窗口菜单“Simulink”→“Run”命令, 仿真将执行。并可借助示波器等模块,显示仿真结果。 • (7)保存模型。
10.2 建模方法
• 本节详细介绍整个模型创建过程,包括模块操作、编辑
信号线和标注模型等操作方法。
10.2.1 模块操作
• 1. 模块的选定 • 2.模块复制 • 3.模块移动
• 4.模块删除
• 5.调整模块大小
• 6.模块旋转
• 7.模块名的编辑 • 8.颜色设定 • 9.模块参数设置
10.2.2 模块连接
并为其规定参数,以及选择某些输出选项。 Data Import/Export:用于管理工作空间数据的导入和导出。 Optimization:用于设置仿真优化模式。 Diagnostics:用于设置在仿真过程中出现各类错误时发出警告的 等级。 Hardware Implementation:用于设置实现仿真的硬件。 Model Referencing:用于设置模型引用的有关参数。 Simulatห้องสมุดไป่ตู้on Target:用于设置仿真模型目标。 Code Generation:用于生成仿真代码、嵌入代码等。 HDL Code Generation:用于生成HDL代码。
小球弹跳仿真
指导教师签名: 年 月 日
20
(含主要设计设备、器材、软件等) 【实验环境】 实验环境】 MATLAB 7.8 (含原理图、流程图、关键代码,或实验过程中的记录、数据等) 【实验步骤、过程】 实验步骤、过程】 步骤 动态系统建模,就是根据研究对象的物理模型找出相应的状态方程的过程。 对动态系统的仿真,就是利用计算机来对所得出的状态方程进行数值求解的过程。 如果已知当前系统的状态, 由状态方程将给出未来所有时刻上的系统状态值和输出信号值。 在计算机数值求解中,我们只能以一个微小的时间间隔△来近似表示当前时刻与下一时刻 之间的无穷小时间差△,所以数值求解(实质上就是微分方程的数值求解)总是近似的。 我们将这个微小的时间间隔△称为求解的步长。 微分方程的求解算法可以划分为两大类:变步长算法和固定步长算法。 对于离散时间系统,状态方程以一组差分方程的形式给出。 当给定当前离散时刻 k 处的状态向量值 s(k)以及当前输入的时间离散信号取值 x(k), 由差 分方程组就确定了当前系统输出信号取值 y(k)以及下一个时刻(k+1 时刻)的新的系统状 态取值 s(k+1)。 如果已知系统的初始状态 s(0)和输入的离散时间信号 x(k), k=0;1;2;:::, 通过递推,我们就可以得出未来各个离散时刻的系统状态值和系统输出信号。 如果系统模型中存在数模转换模块(例如取样器,模拟低通滤波器等) ,那么系统中既存在 时间连续信号,又有时间离散信号,对于这样的混合系统,其状态方程组中既有微分方程, 又有差分方程。
湖南农业大学信息科学技术学院
学 生 实 验 报 告
姓名: 李 梦 雅 课程名称 年级专业班级 09 级信息工程一班 实验名称 学号 200941843114 成绩
验证
MATLAB 仿真技术
MATLAB第九章 Simulink动态仿真
数值仿真与MATLAB
第九章 Simulink动态仿真
第九章 Simulink动态仿真
9.1 Simulink 基本操作 利用Simulink进行系统仿真的步骤是: ① 启动Simulink,打开Simulink模块库 ② 打开空白模型窗口; ③ 建立Simulink仿真模型; ④ 设置仿真参数,进行仿真; ⑤ 输出仿真结果。
数值仿真与MATLAB
9.1.2 建立Simulink仿真模型 a) 打开Simulink模型窗口(Untitled) b) 选取模块或模块组 在 Simulink 模 型 或 模 块 库 窗 口内,用鼠标左键单击所需 模块图标,图标四角出现黑 色小方点,表明该模块已经 选中。 c) 模块拷贝及删除 在模块库中选中模块后,按 住鼠标左键不放并移动鼠标 至目标模型窗口指定位置, 释放鼠标即完成模块拷贝。 模块的删除只需选定删除的 模块,按Del键即可。
数值仿真与MATLAB
第九章 Simulink动态仿真
9.2.1 Simulink模块库 3. Continuous 库
③
:分子分母为多项式形式的传递函数。
➢ 双击该模块,弹出传递函数的参数对话框,设置框图中的参 数后,该传递函数显示如下:
数值仿真与MATLAB
第九章 Simulink动态仿真
9.1.2 建立Simulink仿真模型
f) 模块的连接
模块之间的连接是用连接线将一个模块的输出端与另一模块 的输入端连接起来;也可用分支线把一个模块的输出端与几 个模块的输入端连接起来。
连接线生成是将鼠标置于某模块的输出端口(显一个十字光 标) ,按下鼠标左键拖动鼠标置另一模块的输入端口即可。 分支线则是将鼠标置于分支点,按下鼠标右键,其余同上。
基于MatlabSimulink的仿真方法研究
收稿日期:2000207207 作者简介:简清华(19612),男,江西新余人,工程师;从事计算机管理及其应用方面的教学工作。
基于Matlab Simulink 的仿真方法研究简清华,杨高波(华东交通大学电气与信息工程学院,南昌330013) [摘 要] 本文介绍了运用Matlab 工具箱之一的动态仿真工具Simulink 进行仿真的方法,并结合一个异步电动机的实例,对仿真过程中出现的一些热点问题如提高仿真速度、仿真结果分析等进行了深入的阐述。
同时对Simulink 与G UI 的接口也作了介绍。
[关键词] Matlab ;Simulink ;异步电动机[中图分类号]TP391.9 [文献标识码]A [文章编号]100020682(2001)0420041203R esearch on a simulation method on Matlab SimulinkJ I AN Qing 2hua ,Y ANG G ao 2bo(Electrical &Information School o f East China Jiaotong University ,Nanchang 330013,China ) Abstract :This paper presents a simulation tool called simulink ,one of the Matlab toolboxes.The paper al 2s o expounds s ome central issues ,such as how to im prove the simulation speed ,the analysis of simulation results and s o on during the simulation in combination with an exam ple of asynchronous m otor.The interface of simulink and G UI is als o discussed. K ey w ords :Matlab ;Simulink ;Asynchronous m otor Matlab 是Mathw orks 公司推出的当今国际上最为流行的软件之一。
Matlab动画程序 弹性蹦球演示过程
Matlab动画程序弹性蹦球演示过程figure(1);%定义函数axis([-5.1,5,-0.05,1.05]);%绘制二维图形hold on;%保持当前图形及轴系所有的特性axis('off');%覆盖坐标刻度,并填充背景%通过填充绘出台阶及两边的挡板fill([4.12,4.22,4.22,4.12],[-0.05,-0.05,1.05,1.05],'y');fill([-5,-3.2,-3.2,-5],[-0.05,-0.05,0,0],'g');fill([-3.2,-2.8,-2.8,-3.2],[-0.05,-0.05,0.2,0.2],'g');fill([-3.2,-1.4,-1.4,-3.2],[0.2,0.2,0.25,0.25],'g');fill([-1.4,-1,-1,-1.4],[0.2,0.2,0.45,0.45],'g');fill([-1.4,0.4,0.4,-1.4],[0.45,0.45,0.5,0.5],'g');fill([0.4,0.8,0.8,0.4],[0.45,0.45,0.7,0.7],'g');fill([0.4,2.0,2.0,0.4],[0.7,0.7,0.75,0.75],'g');fill([2.0,2.3,2.3,2.0],[-0.05,-0.05,0.75,0.75],'g');fill([2.3,4.12,4.12,2.3],[-0.05,-0.05,0,0],'g');%x2=line([-5,5],[0.25,0.25],'color','g','linestyle','-', 'markersize',50)%设置台阶边框线,颜色,擦试方式%line([-5,5],[0.5,0.5],'color','b','linestyle','-', 'markersize',50)%设置球与地面接触面的颜色,擦试方式%line([-5,5],[0.75,0.75],'color','b','linestyle','-', 'markersize',50)%设置球与地面接触面的颜色,擦试方式head=line(-5,1,'color','r','linestyle','.','erasemode','xor', 'markersize',60);%设置小球颜色,大小,线条和擦试方式%body=line(-5,1,'color','b','linestyle','-','erasemode','none'); %描绘轨迹线%设置初始条件while 1t=4;dt=0.001;w=0;dw=0.001;w=0;%设置球弹起的初始位置%设置球弹起的高度while t<=4.12t=dt+t;if w<=1w=dw+w;elsew=-1;endy=(-w*w)+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=0;%设置球弹起的初始位置%设置球弹起的高度while t>=2.11t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=0;%设置球弹起的初始位置%设置球弹起的高度while t>=1.11t=t-dt;if w<=1w=dw+w;w=-1;endy=(-w*w)/4+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-0.62t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)/2+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-2.31t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)/2+0.75;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-4t=t-dt;if w<=1w=dw+w;elsew=-1;y=(-w*w)/2+0.5;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序for i=0:0.01:200%设置延时y=i+2;if(y>199)endendend。
基于Matlab Simulink的小球弹跳仿真及动画实现
基于Matlab Simulink的小球弹跳仿真及动画实现
周小云
【期刊名称】《电脑知识与技术》
【年(卷),期】2007(001)001
【摘要】Simulink已经成为在动态系统建模和仿真方面应用最广泛的软件包之一,它的魅力在于强大的功能和简便的操作,本文以小球弹跳仿真实例说明Simulink对MATLAB功能的扩展.
【总页数】2页(P181-182)
【作者】周小云
【作者单位】湖南农业大学信息科学技术学院,湖南长沙 410128
【正文语种】中文
【中图分类】TP319
【相关文献】
1.基于MATLAB中SIMULINK的准周期弹跳运动的仿真模拟 [J], 张林;宋文广
2.面向教学的Matlab/Simulink仿真动画实现 [J], 郭斯羽;鲍美华;唐求;唐璐
3.基于CCS与MATLAB/Simulink联合仿真平台的构建与实现 [J], 渠博岗;易映萍
4.基于Simulink/MEX编程的MATLAB仿真教学动画演示 [J], 郭斯羽;鲍美华;唐求;温和
5.基于Matlab/Simulink的控制系统建模与仿真实现 [J], 杜晓婷
因版权原因,仅展示原文概要,查看原文内容请购买。
MATLAB作业 跳跃小球
MATLAB作业班级:机械065班*名:**学号:*******××指导教师:**一、作业题目利用MATLAB编写一个小程序,实现动画,在距离地面60米处以20米/秒的初速度垂直向下抛出一个蓝色实心小球,但落地反弹时速度降为原来速度80%,编写一个仿真程序模拟小球运动。
二、程序设计思路首先定位小球的初始位置,利用plot函数画题中要求的直线,再利用line函数给小球填充颜色、实现图像在屏幕上的显示与擦除,利用getframe函数获得影片动画图象的帧,并把图象的帧存储在M中,最后利用movie 函数播放影片动画实现动画仿真。
三、程序原代码h = 45; x = 0;figure;for t=0:.01:2.8y=h-20*t;k=size(y);for i=1:kplot([-6:0.01:6],0,'r');axis([-10, 10, -10, 60]);s=line(0,45,'color','b','marker','.','markersize',80, 'erasemode','xor');for i=1:length(t)set(s,'xdata',0,'ydata',y(i));pause(0.005)drawnowendM(:,i)=getframe;endendfor t=0:.01:3y=0.8*20*t;k=size(y);for i=1:kplot([-6:0.1:6],10,'red');axis([-10, 10, -1, 60]);s=line(0,0,'color','b','marker','.','markersize',80,' erasemode','xor');for i=1:length(t)set(s,'xdata',0,'ydata',y(i));pause(0.005)drawnow endM(:,i)=getframe;endendmovie(M,2,1);四、程序运行结果三、 MATLAB源程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发研究与设计技术
基于 Ma t la b S im u lin k 的小球弹跳仿真及动画实现
周小云 ( 湖南农业大学 信息科学技术学院 湖南 长沙 410128)
摘要: Simulink 已经成为在动态系统建模和仿真方面应用最广泛的软件包之一, 它的魅力 在 于 强 大 的 功 能 和 简 便 的 操 作 , 本 文 以 小 球弹跳仿真实例说明 Simulink 对 MATLAB 功能的扩展。
参考文献: [1]Hearn D,Baker M P.计 算 机 图 形 学[M].北 京:电 子 工 业 出 版 社,1998. [2]洪炳鎔,蔡则苏,唐好选.虚拟现实及其应用[M].北京: 国防工 业 出 版 社 ,2005. [3]鲍 虎 军,彭 群 生.浙 江 大 学 CAD&CG 国 家 重 点 实 验 室 基 于 图像的图形绘制技术[N].浙江: 技术专题版专题报道,1998,(36).
(上接第 180 页) 扰动后的向量单位化, 用于计算曲面的明暗度, 可以产生貌
似凹凸不平的几何纹理。F 的偏导数的计算, 可以用中心差分实 现。而且几何纹理函数的定义与颜色纹理的定义方法相同, 可以 用统一的图案纹理记录, 图案中较暗的颜色对应于较小的 F 值, 较亮的颜色对应于较大的 F 值, 把各象素的值用一个二维数组记 录下来, 用二维纹理映射的方法 映射到物体表面上, 就可以成为 一个几何纹理映射。
6 结束语
自从 70 年代中期, Catmull 首次采用纹理映射技术以来,纹理
182 电脑知识与技术
映射技术得到了广泛的应用. 随着对真实感图形生成技术提出的
要求越来越高, 纹理映射技术的研究更加显示出其重要的意义。
在此基础上, 利用 OpenGL 强大的图形功能, 可以轻松地实现逼真
的贴图模型。
参考文献: [1]王立 宁,乐 光 新.MATLAB 与 通 信 仿 真[M].北 京:人 民 邮 电 出 版社,2000.63- 75. [2]程卫国,冯峰,姚东.等.MATLAB 5.3 应 用 指 南[M].北 京:人 民 邮电出版社,1999.259- 323. [3]郑阿奇,曹戈,赵阳.MATLAB 实用教程[M].北京:电子工业出 版社,2004.245- 281. [4]张 志 涌.掌 握 和 精 通 MATLAB[M].北 京:北 京 航 空 航 天 大 学 出 版 社 ,1999.
图 4 最终的模型图
181
开发研究与设计技术
见 图 2, 积 分 模 块 属 性 设 置 对 话 框 中 选 项 Initial Condition Source 有 两 个 选 项 , internal 意 义 是 初 始 值 内 置 , 初 值 在 此 决 定 。 External 意义是初始值由外部条件给定, 模块在落地时输出 一 个 速 度 V, 经 放 大 模 块 , 乘 上 系 数- 0.8, 变 成 反 向 ( 反 弹 向 上 ) 而 值 只 有原速度值的 80%, 再作为初值输入模块。对于小球弹跳建模,另 外还有两个问题需要解决。
1 小球弹跳的具体问题
在 距 离 地 面 10 米 处 以 15 米/秒 的 初 速 度 垂 直 向 上 抛 出 一 个 小球, 不考虑空气阻力, 但每次落地反弹时速度降为原来速度的 80%, 作此问题的数 值 仿 真 , 并 利 用 仿 真 所 获 得 的 高 度 数 据 , 编 写 一个仿真程序模拟小球运动。
(1)模块如何在落地时改变初速度值 V 我们看选项 External reset, 其意义是在外部触发条件下重新 计算, 点击小三角形, 打开下拉菜单, 可以看到外部触发条件有 none( 没 有 条 件 ) , rising( 上 升 时 ) , falling( 下 落 时 ) , either( 两 者 同 时) , 我们是选择下落时触发。由于是选 择 falling 触 发 , 因 此 球 落 地时触发条件起作用, velocity 模块以落地时速度的 0.8 倍 反 向 开 始重新积分, 从而实现一次又一次的模拟运动。 初速度的设置还需要有 IC, Gain 模块, 模块初值为 15( 即开始 上抛时的初速度) , 以后则在触发条件生效时则将由当时的速度 V 算出的新速度- 0.8V 重新输入模块 velocity 中作为新的初速度。 (2)怎 样 控 制 在 落 地 时 才 触 发 我 们 需 要 打 开 position( 位 置 ) 模 块 , 见 图 3, 选 中 limit output ( 限制输出) 选项意味着何时产生触发条件, 选项中的 upper satua- tion limit 为 inf 意味着无论 上 抛 多 高 都 不 会 产 生 触 发 条 件 , 而 选 项中 lower satuation limit 为 0 意味着位置为零( 即落地时) 输 出 触 发条件。这个条件通过回路输出到模块 velocity 并引起 重 新 计 算 速度了。 2.3 运行仿真模型 建立了系统的仿真模型之后. 选择菜单 Simulation /Simulation Parameter 对仿真参数进行设置, 然后选择菜单 Simulation /Star。进 行仿真。最后双击 bouncing ball display , velocity Scope 模块, 仿真 的结果如图 5, 图 6 所示。
关键词: Simulink; 建模; 仿真 中图分类号: TP 319 文献标识码: A 文章编号: 1009- 3044(2007)01- 10181- 02
The S imulation of Bouncing Ball Bas ed on the Matlab S imulink ZHOU Xiao- yun
对于这个问题, 无论是手工计算还是编写计算机程序, 都不 太简单。但是在 Simulink 中针对此问题只需要选择好积 分 模 块 , 并恰当的设置参数, 其建模却很简单, 可使复杂的问题简单化。
2 利用 S imulink 进行建模
2.1 选择好需要的模块 选 择 Matlab 常 用 工 具 栏 中 的 Simulink 按 钮. 打 开 Simulink Library Browser, 选择新建按钮, 把需要的模块 Constant, Scope, In- tegrate, Gain,IC 拖拽到新创建的仿 真 模 型 窗 口 , 进 行 必 要 的 方 向 转换后如图 1 所示。
t=1;
while t<=2028 %时间变化
y=Data(t,2);
%获取工作空间变量
t=t+1;
set(head,' xdata' ,x,' ydata' ,y);
drawnow
end
end
保存后在命令区键入 highball, 得到小球的运动图象图 8。
图8
4 结束语
通 过 Matlab Simulink 进 行 建 模 仿 真 , 可 使 复 杂 的 问 题 简 单 化。现在,Simulink 的版本已经从 1.0 发展到 6.5, 功能更加强大, 使 用也越来越方便。在 Simulink 环境中, 用户可以在 仿 真 进 程 中 改 变感兴趣的参数, 实时地观察系统行为的变 化 。 由 于 Simulink 环 境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰, 因此用 户在此环境中会产生浓厚的探索兴趣, 引发活跃的思维, 感悟出 新 的 真 谛 [4]。
本栏目责任编辑: 谢媛媛
然后新建一个 M 文件 highball.m, 在其内写入如下代码:
figure(1); axis([- 5.1,4,- 0.05,25]);%显坐标 hold on; grid on;%显示网格 title(' 球下落过程演示 ') fill([- 5.1,- 5,- 5,- 5.1],[- 0.05,- 0.05,25,25],[0,0.5,0.5]); fill([4.12,4.22,4.22,4.12],[- 0.05,- 0.05,25,25],[0,0.5,0.5]); fill([- 5,4.12,4.12,- 5],[- 0.05,- 0.05,0,0],[0,0.5,0.5]); head=line(- 1,0.5,'color','y','linestyle','.','erasemode','xor','mark- ersize' ,72); x=- 1; for i=1:10 %因 为 一 次 仿 真 过 程 时 间 很 短 , 为 方 便 观 看 , 故 循环再现。
Simulink是 实 现 动 态 系 统 建 模 、仿 真 的 一 个 集 成 环 境 。 它 的 存 在使 MATLAB 的功能得到进一步的扩展。这种扩展的意义表现在: 实现了可视化建模, 在 windows 环境下, 用户通过简单的鼠标操作 就可建立起直观的系统模型, 并进行仿真; 实现了多工作环境间文 件互用和数据交换, 如 Simulink 与 Matlab, Simulink 与 Fortran、C 和 C++,Simulink 与 DSP, Simulink 与实时硬件工作环境等的信息交换 都可以方便的实现。下面以小球弹跳的实例进行说明。
图 5 示波器显示的高度
图 6 示波器显示的速度
3 S imulink 与 Ma tla b 数据互用, 编程实现动画仿
真
将 bouncing ball display 示 波 器 高 度 曲 线 的 数 据 保 存 到 工 作
ቤተ መጻሕፍቲ ባይዱ
区( workplace) 后, 如图 7 所示。
图 7 示波器属性设置对话框
图 2 积分模块属性设置对话框
图 3 积分模块属性设置对话框
图 1 建模需要的各个模块 2.2 编辑模块 首先对各个模块名进行编辑, 再进行各个模块的属性设定,其 中主要模块属性如图 2, 图 3 所示。 最后用仿真信号线将各个模块连接起来, 如图 4 所示。