数学建模的炮弹发射的模型 设炮弹的发射角为a,发射的初速度为V,试研究:⑴ 当炮弹平地发射时的最佳发射角和最大射程
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 02:22:14
数学建模的炮弹发射的模型 设炮弹的发射角为a,发射的初速度为V,试研究:⑴ 当炮弹平地发射时的最佳发射角和最大射程
数学建模的炮弹发射的模型
设炮弹的发射角为a,发射的初速度为V,试研究:
⑴ 当炮弹平地发射时的最佳发射角和最大射程
数学建模的炮弹发射的模型 设炮弹的发射角为a,发射的初速度为V,试研究:⑴ 当炮弹平地发射时的最佳发射角和最大射程
这就是一个很的物理斜抛模型
唯一不同的是:要考虑空气阻力,此力的作用一直与速度相反,大小应该与炮弹的形状有关;
应该就考虑这些因素吧
这是 http://sci.cqu.edu.cn/cmewebhome/goodexam/2.pdf 的 HTML 档.
G o o g l e 在网路漫游时会自动将档案转换成 HTML 网页来储存.
Page 1
炮弹发射的角度确定问题97 级自动化 4 班 耿化品实验目的:1、学习由实际问题去建立数学模型的过程;2、学会非线性方程的求解方法;3、借助于 matlab 软件,求解一个小型的实际问题;实验问题:将炮弹发射视为斜抛运动,已知初始速度为 200 米/秒,问要击中水平距离360 米,垂直距离 160 米的目标,当忽略空气阻力时发射角应为多少?进一步地思考:如果要考虑水平方向的阻力且设阻力与(水平方向)速度成正比,系数为0.1(l/s),结果又如何?分析:首先建立坐标系,以水平方向为 x 轴,垂直方向为 y 轴.第一种情况: 当忽略空气阻力时yxO (360,160)根据抛物运动的规律.在水平方向上,炮弹是匀速直线运动,在 t 时刻下,运动方程是:t*v0*cos(θ) = x0(1)在垂直方向上,在 t 时刻下,运动方程是:v0*sin(θ)*t -1/2*10*t^2 = y0(2)其中参数是:v0 = 200 m/s;(x0,y0)=(360,160);需要确定θ=?和时间 t = ?具体求解有两种方法:① 图解法; ② 解析法;① 图解法 利用消元法,消去参变量 t,得到:160cos/24.3*9.4)tan(3602=−θθ这是一个非线性方程,在区间[0,2π]上,利用 Matlab 软件画出曲线图形如下:sita=0:0.1:2*pi; %图一的程序.t=1.8./cos(sita); y=360*tan(sita)-15.876./cos((sita).^2); y1=160;
--------------------------------------------------------------------------------
Page 2
plot(sita,y,sita,y1,'r',sita,t,'b'),grid 图 1 方程在区间[0,2π]上的曲线图160cos/24.3*9.4)tan(3602=−θθ由图形可知,根据微积分学中的介值定理可知,在 02π之间,有两处的值使得方程有解,一是 01 之间,二是 34 之间.利用图形放大法,可找出方程的近似根.如下图 2、图 3.图 2 在[0,1]区间上用图形放大法求解的效果图
--------------------------------------------------------------------------------
Page 3
图 3 在[3,4]区间上用图形放大法求解的效果图由图 2 知,在[0,1]区间上,解出θ=0.463(近似).由图 3 知,在[3,4]区间上,解出θ=3.605(近似). 图形法得到的结果是简洁、直观、易于理解.② 解析法非线性方程组模型:t*v0*cos(θ) = x0(1)v0*sin(θ)*t+1/2*10*t^2 = y0(2)其中参数是:v0 = 200 m/s;(x0,y0)=(360,160);在 MATLAB 软件中,只需输入:(注:x =θ)[t,x]=solve('t*200*cos(x)=360','200*sin(x)*t+1/2*10*t^2=160'),再按回车键就能得到结果:t = [ 2*(208+6*1191^(1/2))^(1/2)] [ -2*(208+6*1191^(1/2))^(1/2)] [ 2*(208-6*1191^(1/2))^(1/2)] [ -2*(208-6*1191^(1/2))^(1/2)] x = [atan((-1/970*(208+6*1191^(1/2))^(3/2)+147/388*(208+6*1191^(1/2))^(1/2))/(-9/3880*(208+6*1191^(1/2))^(3/2)+468/485*(208+6*1191^(1/2))^(1/2)))] [ atan((1/970*(208+6*1191^(1/2))^(3/2)-147/388*(208+6*1191^(1/2))^(1/2))/(9/3880*(208+6*1191^(1/2))^(3/2)-468/485*(208+6*1191^(1/2))^(1/2)))+pi]
--------------------------------------------------------------------------------
Page 4
[ atan((-1/970*(208-6*1191^(1/2))^(3/2)+147/388*(208-6*1191^(1/2))^(1/2))/(-9/3880*(208-6*1191^(1/2))^(3/2)+468/485*(208-6*1191^(1/2))^(1/2)))] [ atan((1/970*(208-6*1191^(1/2))^(3/2)-147/388*(208-6*1191^(1/2))^(1/2))/(9/3880*(208-6*1191^(1/2))^(3/2)-468/485*(208-6*1191^(1/2))^(1/2)))-pi] 仔细分析,该解太复杂!计算结果根本不能用.我们编制了简单的迭代算法,如下:160cos/24.3*9.4)tan(3602=−θθ上述方程经过变形得:)cos/0441.0444.0(tan21θθ+=−迭代程序:x=0; for k=1:20 x=atan(0.444+0.0441/(cos(x))^2); end x 计算结果:x = 0.4629 为什么使用迭代算法只得到一个解?原因很简单,因为目标坐标是(360,160),它位于第一象限中,那么,炮弹的发射角度θ一定在 02π之间.比较图解法与迭代法的解,它们是很精确的.进一步思考:如果考虑水平方向的阻力且设阻力与(水平方向)速度成正比,系数为 0.1(l/s),结果又如何?与第一个模型进行比较,主要的差别在于水平方向上炮弹的运动不再是匀速直线运动了,而是变速运动.水平方向的运动表示为:)cos(1.0θ××=vdtdv初始条件:v0= 200 m/s.解微分方程,得到:))cos(1.0exp(200tv××−=θ))cos(1.0exp(200tdtdx××−=θ再积分,得:)))cos(1.0exp(1)(cos(/2000tx××−−=θθ(3)垂直方向上仍然是匀减速直线运动:v0*sin(θ)*t -1/2*10*t^2 = y (4)仍然采用作图的方法求解.由(3)式解出)2000cos1ln()cos(10θθxt−−=代入(4)式,得到:160)200cos361(lncos1009.4)2000cos3601ln(tan200022=−×−−××−θθθθ
--------------------------------------------------------------------------------
Page 5
图 4 在区间[0,2π]中,函数160)200cos361(lncos1009.4)2000cos3601ln(tan200022+−×+−××=θθθθy的图形图 5 将图 4 的图形放大的效果图由图可知,角度的近似解为θ=0.455.炮弹射中目标(360,160)所需要的时间大约需要 t = 1.9634 分钟.
--------------------------------------------------------------------------------
Page 6
附计算第二个问题的 MATLAB 程序如下:图 5 的计算程序:subplot(1,2,1),hold sita=0:0.01:0.5; y=1.6+20*tan(sita).*log(1-36*cos(sita)./200)+4.9*(log((1-36*cos(sita)./200))).^2./(cos(sita)).^2; plot(sita,y),grid on subplot(1,2,2),hold sita=0.4:0.001:0.5; y=1.6+20*tan(sita).*log(1-36*cos(sita)./200)+4.9*(log((1-36*cos(sita)./200))).^2./(cos(sita)).^2; plot(sita,y),grid on 计算击中目标所需要时间 1.9634 分钟的程序:function y=shij(x) y=-10*log(1-36*cos(x)/200)/cos(x); 运算结果:x = 0.455; y=shij(x) y = 1.9634 \