当物体在空气中运动时,所受空气阻力放向始终与运动方向相反,若忽略空气的粘滞系数,则空气阻力公式为-Kv2,其中K是阻力系数,v是速度。设空气阻力方向始终与速度方向相反
由此,我们便可以列出该物体运动的微分方程如下
其中x(t)是水平方向的位移y(t)是竖直方向上的位移,g是重力加速度,k是阻力系数。
利用matlab 7.11.0 (R2010b)求解。
首先点击File,接着将鼠标放在New上,选择Function。输入微分方程:
function Dx=dan(t,x);
Dx=zeros(5,1);
Dx(3)=x(1);
Dx(4)=x(2);
Dx(1)=-x(5)*((((x(1))^2)+((x(2))^2))^0.5)*(x(1));
Dx(2)=-9.8-x(5)*((((x(1))^2)+((x(2))^2))^0.5)*(x(2));
Dx(5)=0;
end
其中x(3)是x坐标,x(4)是y坐标,x(5)是阻力系数。输完后关闭保存,文件命名为U。
例如阻力系数k=0.1,初速度60米每秒。我们可以对第一象限进行划分,比如将第一象限分为100份,那么每一份的角度是0.005π,在命令窗口输入
i=0;
while(i<101)
[t,x]=ode45('U',[0 5],[60*cos(i*pi*0.005) 60*sin(i*pi*0.005) 0 0 0.1]); plot(x(:,3),x(:,4));hold on
i=i+1;
end
敲回车,有图
移动放大图片,可以发现红线打的最远(与x轴交点的最大值)
其中红线对应i=31,因此发射角度大约为31*0.005π=0.155π时,射程最远,换算为角度大约是27.9度时最远。大约为23.8米。
[修改于 1年6个月前 - 2023/05/14 01:51:23]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |