matlab报告 - 用matlab研究抛体运动 下载本文

用matlab研究抛体运动

2. 用matlab研究抛体运动

2.1 引论

MATLAB语言是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能的高级语言。使用MATLAB模拟物理现象为我们解决问题提供了一种新的方法,利用其方便的数值计算和作图功能,可以方便的模拟一些物理过程。对于处理非线性问题,既能进行数值求解,又能绘制有关曲线,方便实用,基于其功能强大,界面友善,语言自然,交互性强等优点,已成为教学和科研中最基础的软件之一,利用其解决复杂的数值计算问题,可以减少工作量,节约时间,图形绘制问题,真实直观,可以加深理解,提高工作效率

将物体以一定的初速度向空中抛出,仅在重力作用下物体所作的运动,它的初速度不为零,可分为平抛运动和斜抛运动。物理上提出的“抛体运动”是一种理想化的模型,即把物体看成质点,抛出后只考虑重力作用,忽略空气阻力。抛体运动加速度恒为重力加速度,相等的时间内速度变化量相等,并且速度变化的方向始终是竖直向下的。 2.2抛体运动及应用 2.2.1、 实验设计思路 1、理论分析

一般的处理方法是将其分解为水平方向和竖直方向,平抛运动水平方向是匀速直线运动,竖直方向是自由落体运动,斜抛运动水平方向是匀速直线运动,竖直方向是竖直上抛运动,在任意方向上分解有正交分解和非正交分解两种情加速度及位移等进行相应分析。无论怎样分解,都必须把运动的独立性和独立作用原理结合进行系统分解,即将初速度、受力情、加速度及位移等进行相应分析。

斜抛运动: 水平方向速度

vx?v0cos? (1)

竖直方向速度vy?v0sin??gt水平方向位移 x?v0cos?t

(2)

(3)

12gt2竖直方向位移 y?v0cos?t?平抛运动: 水平方向速度vx?0

(4)

v (5)

(6)

竖直方向速度vy?gt

水平方向位移

x?vt (7)

0竖直方向位移vy?2x12gt2 (8)

合速度vt?v?vy?2v20?1gt424

(9)

合速度方向与水平夹角?:tg??vy?gt

vxv0 (10)合位移s?x2?y (11)

sy2位移方向与水平夹角?:tg??s?xgt2v0

(12)

设某一抛射体的初速度为v0,抛射角为?,将其运动在X,Y轴上进行正交分解,水平方向速度vx?v0cos? (13) 竖直方向vy?v0sin??gt (14) 质点的坐标(x,y)是x(t)?v0cos(?)t (15)

y(t)?v0sin?t?12gt2 (16)

gx222从上两式消去t,便得质点的轨迹运动方程y?xtan??2v0cos?t (17)

抛射体能达到的最大高度为Hv?v0sin?02gsin?g22 (18)

其到达最大高度所需时间为T? (19)

空中飞行时间为t?2T?2v0sin?g (20)

抛射体的最大射程为X?v20sin2?g (21)

2它跟初速度v0和抛射角?有关,在抛射角?不变的情况下,射程x与v0成正比,所以射程

- 1 -

随初速度的增大而增大。在初速度v0不变的情况下,随着抛射角?的增大,射程也增大,当??45度时,sin2??1,射程达到最大值,以后随着抛射角的增大,射程减小。 利用MATLAB的绘图功能,可以更直观的体现上述结论。(程序1) 程序运行结果如图1所示。

图1 射程与抛射角、初速度的关系

对于最大飞行路径所对应的抛射角问题(空气阻力忽略不计),X,Y坐标轴分别代表抛射体的射程与射高,在?x,y?处,设在某一微小时段内抛射体的路径变量为dt,其对应的水平及竖直方向的变量为dx与dy,

则dL?dx2?dy2 (22)

R设射程为R,则飞行路径长度 L??01?(dydx)dx (23)

2根据前面的推论,R?v20gsin(2?)

(24)

- 2 -

其中v0为抛射的初始速度,?为抛射角,

根据运动学原理,有 x?(v0cos?)t (25) y??12gt?(v0sin?)t2 (26)

从(24)、(25)中消除t,我们可得到该运动的抛物线方程:

y??1g22(v0cos?)dydxx?xtg?2 (27)

从(24)中可知,为求解L,先得求出

y??g(v0cos?)2,因此在(4)式两边同时对x求导,得: (28)

x?xtg?将(27)代入式(24),等式两边同时积分,便得到了飞行路径长度与抛射角之间的关系:

L(?)?v??1?sin?2sin??cosln??g??cos?02??(29) ??

??根据式(28),为求得L的最大值,将(28)两边同时对?求导

L(?)?2'v?s?1?co?cos??1?sin?ln?gn?si??02?? ?? (30)

??令L'(?)?0,可得到最大飞行路径所对应的抛射角的大小,但解此方程是比较困难的。为此,我们采用MATLAB的函数运算功能来解决这一问题。(程序2) 程序如下,设其中的抛射初速度v0?10ms,g?9.8m运行结果如图2所示。

s2。

- 3 -