论文部分内容阅读
[摘 要]MATLAB是一种用于数值计算、数据可视化、算法开发、数据分析的交互式环境和高级技术计算语言,对于分析自由落体运动有很大的帮助。基于此,本文利用MATLAB对自由落体运动进行仿真模拟,实现自由落体数据的可视化,介绍了MATLAB的自由落体运动仿真实现方法以及在执行仿真之后的结果分析。
[关键词]MATLAB;自由落体运动;运动仿真
中图分类号:T62 文献标识码:A 文章编号:1009-914X(2019)02-0229-01
1 问题阐述
根据万有引力定律可知,物体在只受重力作用,且初速度为零的运动,称为自由落体运动。自由落体运动是处于理想状态下的物理模型。通过MATLAB可以为自由落体运动提供一个图像处理平台,对自由落体运动的全过程进行仿真,以此达到对自由落体运动全过程更好的观察的目的。本文实例为:对兵乓球由静止下落全过程进行仿真和建模。已知条件为:只受重力作用;重力加速度为g=9.8m/s2,初始时间为t0=0s,初始速度v0=0m/s;落地点为光滑的平面,兵乓球在落地之后立即反弹;不考虑兵乓球在弹跳过程中的能量损耗,且反弹前后兵乓球的瞬时速率是不变的,但是前后速率方向是相反的;不考虑撞击损耗,同时忽略空气对兵乓球的影响。
2 MATLAB的自由落体运动仿真实现方法
2.1 MATLAB的应用方法
应用MATLAB对自由落体运动进行模拟之前,首先我们要了解MATLAB的应用方法。步骤如下:
第一,进入MATLAB的输入窗口,点击窗口中工具栏的新建模型,进入仿真窗口。第二,在Library中部件组成仿真自由落体运动的框图,部件包括线性函数、离散函数、零阶保持器、比较器、示波器等。在MATLAB软件中,没有重力加速度的输入模型,所以加速度模型是由積分器和速度输入组成的。第三,在MATLAB软件中有三个示波器,是观察误差、输出、输入的。第四,软件中每个信号都不能单独的观察,要根据每一帧图片来确定物体的运动轨迹。
2.1建立物体自由落体数学模型
依据MATLAB所提供的图像处理平台,建立一个自由落体运动的数学模型。在模型中,假设兵乓球在弹跳过程中处于理想状态,即球是刚性的,质量为m,且垂直下落,忽略落点撞击时物体能量损耗。以撞击点为坐标原点,水平方向作为坐标的横轴,然后建立一个直角坐标系;以物体速度竖直向上的方向为正方向;假设自由落体运动的总高度h0为430m,将计算时间的间隔设置为0.01s,此计算时间间隔对不考虑计算机运算时间,即每隔0.01s计算一次位移和速度,直到物体停止运动,然后观察MATLAB运行结果。在此过程中设计到的公式有:
h=h0-1/2 × gt2
其中h代表的是物体自由落体的高度;h0代表的是物体静止时的最高位置;g代表的是重力加速度;t代表的物体自由落体下落的时间。物体在做自由落体运动时,物体下落的高度会随着时间的变化而变化,每隔0.01s都会产生一帧图片,图片所显示的内容就是我们所需的物体自由落体的数学模型。
2.2物体自由落体运动仿真流程
利用MATLAB对物体自由落体运动进行仿真的算法流程为开始——绘制物体的位置——设置初始参数——利用公式,计算物体的加速度和高度等参数——变化物体的高度、位置、加速度等参数——绘制并观察所有图片——结束。矩阵是MATLAB的基本数据单位,MATLAB的数理统计、信号处理以及图像处理等技术能够帮助我们将物体的自由落体运动谅解的更加透彻。
第一步,绘制物体自由落体运动的每一帧图片,绘制的主要内容包括物体的加速度、速度、位置等参数。当物体由静止开始下落之后,物体的位置随着时间的变法而变化;速度的变化受重力加速的影响。第二步,物体触地反弹,物体下落时,当高度h<0,说明物体已经触地,此时应该将作用于物体的加速度反向即a=-g,同时物体的速度也要初始化;物体上升时,物体的速度v>0,说明物体到达了最高点并且开始下落,这时加速度就会再次反向即a=g。第三步,将绘制的物体自由落体过程中的运动状态利用视频保存函数存储到某个文件中。点击这个文件就能够运行物体自由落体运动的仿真过程了。
2.3仿真模型程序的设计
根据MATLAB提供的图像处理平台,建立物体自由落体运动模型以及明确物体自由落体运动仿真流程之后,需要应用MABLAB对自由落体运动仿真模型程序进行设计。将物体停止运动的时间设置为t1 = 3s和t2 = 8.9s,然后再利用公式进行人工计算,观察MATLAB和人力计算的结果。如果结果计算是一致的,那么说明MATLAB对自由落体运动的仿真试验是成功的,反之,如果计算的结果有差异,那么就需要我们进行多次的模拟过程,降低误差。仿真过程中MATLAB命令流如下:
h = 430; %输入物体的初始位置
t1 = 3; %输入物体停止运动的时间
v = 0; %物体的初始速度
k = 0; %计数器初始化
%仿真开始
for t = 0:0.01:8.9;
If t < t1;%判断停止时间
h = h0-0.5* 9.8 * t2;%计算物体自由落体下坠的高度
Scatter(0,h,70,v,k);%绘制此时物体的位置
title(自由落体运动);%输入绘制图片的名称
hlabel(高度);%物体所在位置的纵坐标标签
a([-1,1,0,400]);%设置横轴和纵轴的范围
stop(0.01);%间隔时间
else
t2 %输出的时间
h %在这个时刻物体下坠的高度
v = 9.8*t2 %输出速度值
end
end
命令输入完毕之后,在软件中点击“开始”按钮,就可以完成物体自由落体运动全过程的动画演示,而点击“结束”按钮则可以结束物体自由落体运动的动画演示。基于MATLAB对物体自由落体运动进行仿真,使物体自由落体的全过程动画描述可视化,这个动画仿真软件是利用计算机编程来实现物体自由落体过程的。
3执行仿真和结果分析
3.1在t1 = 3s时执行仿真和结果分析
当在执行命令流中将物体自由落体运动的停止时间设置为3s时,点击MATLAB软件中的执行按钮,屏幕上会显示自由落体过程中的每一个动态画面。利用MATLAB的数理统计、信号处理以及图像处理等技术将模拟过程中的结果计算出来。当t1 = 3s时,计算出的高度为h=355m,物体的速度为v=30m/s。当我们利用公式进行人力计算时,计算的结果与MATLAB软件计算的结果是一致的。
3.2在t2 = 8.9s时执行仿真和结果分析
当在执行命令流中将物体自由落体运动的停止时间设置为8.9s时,点击MATLAB软件中的执行按钮,屏幕上会显示自由落体过程中的每一个动态画面。利用MATLAB的数理统计、信号处理以及图像处理等技术将模拟过程中的结果计算出来。当t2 = 8.9s时,计算出的高度为h=3.95m,物体的速度为v=89m/s。当我们利用公式进行人力计算时,计算的结果与MATLAB软件计算的结果是一致的。
结论:
应用MATLAB对物体的自由落体运动进行仿真是非常有意义的。经过上文分析可得,基于MATLAB的自由落体运动仿真,首先要建立物体自由落体数学模型,然后明确物体自由落体运动仿真流程,应用MABLAB对自由落体运动仿真模型程序进行设计,最后在执行仿真的同时分析其结果。因此,MATLAB的自由落体运动仿真应该被大力普及。
[关键词]MATLAB;自由落体运动;运动仿真
中图分类号:T62 文献标识码:A 文章编号:1009-914X(2019)02-0229-01
1 问题阐述
根据万有引力定律可知,物体在只受重力作用,且初速度为零的运动,称为自由落体运动。自由落体运动是处于理想状态下的物理模型。通过MATLAB可以为自由落体运动提供一个图像处理平台,对自由落体运动的全过程进行仿真,以此达到对自由落体运动全过程更好的观察的目的。本文实例为:对兵乓球由静止下落全过程进行仿真和建模。已知条件为:只受重力作用;重力加速度为g=9.8m/s2,初始时间为t0=0s,初始速度v0=0m/s;落地点为光滑的平面,兵乓球在落地之后立即反弹;不考虑兵乓球在弹跳过程中的能量损耗,且反弹前后兵乓球的瞬时速率是不变的,但是前后速率方向是相反的;不考虑撞击损耗,同时忽略空气对兵乓球的影响。
2 MATLAB的自由落体运动仿真实现方法
2.1 MATLAB的应用方法
应用MATLAB对自由落体运动进行模拟之前,首先我们要了解MATLAB的应用方法。步骤如下:
第一,进入MATLAB的输入窗口,点击窗口中工具栏的新建模型,进入仿真窗口。第二,在Library中部件组成仿真自由落体运动的框图,部件包括线性函数、离散函数、零阶保持器、比较器、示波器等。在MATLAB软件中,没有重力加速度的输入模型,所以加速度模型是由積分器和速度输入组成的。第三,在MATLAB软件中有三个示波器,是观察误差、输出、输入的。第四,软件中每个信号都不能单独的观察,要根据每一帧图片来确定物体的运动轨迹。
2.1建立物体自由落体数学模型
依据MATLAB所提供的图像处理平台,建立一个自由落体运动的数学模型。在模型中,假设兵乓球在弹跳过程中处于理想状态,即球是刚性的,质量为m,且垂直下落,忽略落点撞击时物体能量损耗。以撞击点为坐标原点,水平方向作为坐标的横轴,然后建立一个直角坐标系;以物体速度竖直向上的方向为正方向;假设自由落体运动的总高度h0为430m,将计算时间的间隔设置为0.01s,此计算时间间隔对不考虑计算机运算时间,即每隔0.01s计算一次位移和速度,直到物体停止运动,然后观察MATLAB运行结果。在此过程中设计到的公式有:
h=h0-1/2 × gt2
其中h代表的是物体自由落体的高度;h0代表的是物体静止时的最高位置;g代表的是重力加速度;t代表的物体自由落体下落的时间。物体在做自由落体运动时,物体下落的高度会随着时间的变化而变化,每隔0.01s都会产生一帧图片,图片所显示的内容就是我们所需的物体自由落体的数学模型。
2.2物体自由落体运动仿真流程
利用MATLAB对物体自由落体运动进行仿真的算法流程为开始——绘制物体的位置——设置初始参数——利用公式,计算物体的加速度和高度等参数——变化物体的高度、位置、加速度等参数——绘制并观察所有图片——结束。矩阵是MATLAB的基本数据单位,MATLAB的数理统计、信号处理以及图像处理等技术能够帮助我们将物体的自由落体运动谅解的更加透彻。
第一步,绘制物体自由落体运动的每一帧图片,绘制的主要内容包括物体的加速度、速度、位置等参数。当物体由静止开始下落之后,物体的位置随着时间的变法而变化;速度的变化受重力加速的影响。第二步,物体触地反弹,物体下落时,当高度h<0,说明物体已经触地,此时应该将作用于物体的加速度反向即a=-g,同时物体的速度也要初始化;物体上升时,物体的速度v>0,说明物体到达了最高点并且开始下落,这时加速度就会再次反向即a=g。第三步,将绘制的物体自由落体过程中的运动状态利用视频保存函数存储到某个文件中。点击这个文件就能够运行物体自由落体运动的仿真过程了。
2.3仿真模型程序的设计
根据MATLAB提供的图像处理平台,建立物体自由落体运动模型以及明确物体自由落体运动仿真流程之后,需要应用MABLAB对自由落体运动仿真模型程序进行设计。将物体停止运动的时间设置为t1 = 3s和t2 = 8.9s,然后再利用公式进行人工计算,观察MATLAB和人力计算的结果。如果结果计算是一致的,那么说明MATLAB对自由落体运动的仿真试验是成功的,反之,如果计算的结果有差异,那么就需要我们进行多次的模拟过程,降低误差。仿真过程中MATLAB命令流如下:
h = 430; %输入物体的初始位置
t1 = 3; %输入物体停止运动的时间
v = 0; %物体的初始速度
k = 0; %计数器初始化
%仿真开始
for t = 0:0.01:8.9;
If t < t1;%判断停止时间
h = h0-0.5* 9.8 * t2;%计算物体自由落体下坠的高度
Scatter(0,h,70,v,k);%绘制此时物体的位置
title(自由落体运动);%输入绘制图片的名称
hlabel(高度);%物体所在位置的纵坐标标签
a([-1,1,0,400]);%设置横轴和纵轴的范围
stop(0.01);%间隔时间
else
t2 %输出的时间
h %在这个时刻物体下坠的高度
v = 9.8*t2 %输出速度值
end
end
命令输入完毕之后,在软件中点击“开始”按钮,就可以完成物体自由落体运动全过程的动画演示,而点击“结束”按钮则可以结束物体自由落体运动的动画演示。基于MATLAB对物体自由落体运动进行仿真,使物体自由落体的全过程动画描述可视化,这个动画仿真软件是利用计算机编程来实现物体自由落体过程的。
3执行仿真和结果分析
3.1在t1 = 3s时执行仿真和结果分析
当在执行命令流中将物体自由落体运动的停止时间设置为3s时,点击MATLAB软件中的执行按钮,屏幕上会显示自由落体过程中的每一个动态画面。利用MATLAB的数理统计、信号处理以及图像处理等技术将模拟过程中的结果计算出来。当t1 = 3s时,计算出的高度为h=355m,物体的速度为v=30m/s。当我们利用公式进行人力计算时,计算的结果与MATLAB软件计算的结果是一致的。
3.2在t2 = 8.9s时执行仿真和结果分析
当在执行命令流中将物体自由落体运动的停止时间设置为8.9s时,点击MATLAB软件中的执行按钮,屏幕上会显示自由落体过程中的每一个动态画面。利用MATLAB的数理统计、信号处理以及图像处理等技术将模拟过程中的结果计算出来。当t2 = 8.9s时,计算出的高度为h=3.95m,物体的速度为v=89m/s。当我们利用公式进行人力计算时,计算的结果与MATLAB软件计算的结果是一致的。
结论:
应用MATLAB对物体的自由落体运动进行仿真是非常有意义的。经过上文分析可得,基于MATLAB的自由落体运动仿真,首先要建立物体自由落体数学模型,然后明确物体自由落体运动仿真流程,应用MABLAB对自由落体运动仿真模型程序进行设计,最后在执行仿真的同时分析其结果。因此,MATLAB的自由落体运动仿真应该被大力普及。