有空气阻力抛射体的运动(matlab) 下载本文

内容发布更新时间 : 2024/11/14 13:42:55星期一 下面是文章的全部内容请认真阅读。

有空气阻力抛射体的运动

微固学院 2012030010023 曾鹏灏

由于空气阻力大小和方向始终与抛体的速度有关,会不停地发生改变,对求解抛射体的运动轨迹增加极大的难度。因此,我们须借助matlab等数学工具软件,从数量上的累积来解决此问题。

Matlab程序如下:

g=9.8; m=0.145; C=0.5; r=0.0366; A=pi*r^2; rou=1.2; D=(rou*C*A)/2; detat=0.01;

theta=(35/180*pi); x(1)=0; y(1)=0; V(1)=50;

Vx(1)=V(1)*cos(theta); Vy(1)=V(1)*sin(theta); n=0 ; y(1)=0.0001; while(y(n+1)>0) n=n+1;

V(n)=sqrt(Vx(n)^2+Vy(n)^2); ax(n)=-(D/m)*V(n)*Vx(n); ay(n)=-g-(D/m)*V(n)*Vy(n);

Vx(n+1)=Vx(n)+ax(n)*detat; Vy(n+1)=Vy(n)+ay(n)*detat; if(Vy(n+1)<=0.1&&Vy(n+1)>=0) M=n+1 end

x(n+1)=x(n)+Vx(n)*detat+0.5*ax(n)*detat^2; y(n+1)=y(n)+Vy(n)*detat+0.5*ay(n)*detat^2; if(y(n+1)<=0.1&&y(n+1)>=0) H=n+1 end end n=1;

py(1)=0.0001; while(py(n)>0) n=n+1;

px(n)=Vx(1)*n*detat;

py(n)=Vy(1)*n*detat-0.5*g*(n*detat)^2; end

T1=M*0.01,T2=(H-M)*0.01 xa=x(M),xb=x(H)-x(M) ya=y(M)

plot(x,y,'r',px,py,'g'); grid

text(xa,ya,'+'); xlabel('x'),ylabel('y');

实验结果:M =207 H =453 T1 =2.0700 T2 = 2.4600

xa =61.2846 xb =44.7982 ya = 25.5642

注:T1为上升阶段的运动时间 T2为下落阶段的运动时间

xa为上升阶段的水平位移 xb是下落阶段的水平位移 ya为轨迹的最高高度

实验图像:

注:红色曲线为空气阻力下的抛射体运动轨迹,蓝色曲线为不

考虑空气阻力的抛射体运动轨迹。

实验结果分析:实验数据显示,T1小于T2,说明下落过程时间大于

上升过程时间。比较图像可发现,红色曲线所代表的轨迹水平位移与最高高度明显小于蓝色曲线。

实验结论:空气阻力对于抛射体的运动有着巨大的影响,减缓运动

速度,减小轨迹的最高高度与落地点位移。直接影响其运动轨迹。