实验九 确定炮弹射击的安全区
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验九 确定炮弹射击的安全区
徐晓-应用数学10-3班-10104479
实验目的
本实验涉及微积分和微分方程。
通过实验复习曲线的参数方程及其求导、复合函数微 分法、微分方程的建立及求解和某些二次曲面等知识;另外通过一个实际问题介绍平面单 参数曲线族包络线的概念及其应用。
实验任务:
1.设)/(8.9,)/(20020s m g s m ==υ,令炮弹发射角α从15º变化到75º,以15º为间隔,画出各弹道曲线及其包络线的图形。
2.设射击演习时炮座左右旋转角度范围均为60º,试用数学软件或编程画出炮弹演习安全区域的边界曲面(由包络线旋转所得)。
实验过程
问题一实验过程
由实验材料综合实验9中实验问题的推导过程可知弹道曲线方程为:
2220
sec ()2gx y Tan x V αα=- 安全线方程为: 220
2022x V g g v y -= 当炮弹发射角α从15º变化到75º变化时,要画出以15º为间隔的弹道曲线
及其包络线的图形,选择Matlab 编出程序m myFigure .
用以实现该功能。
m myFigure .代码:
function myFigure
g=9.8;v0=200;
a=zeros(1,5);
for i=1:5
a(i) =(15/180)*pi*i;
end
x=linspace(0,5000,5000);
z=v0^2/(2*g)-g*x.^2/(2*v0^2);
for i=1:5
y=tan(a(i))*x-((g*x.^2)*sec(a(i))^2)/(2*v0^2);
plot(x,y,'r',x,z,'--b')
axis([0,4500,0,2500]);
hold on
end
title('各弹道曲线及包络线图');
gtext('15度弹道')
gtext('30度弹道')
gtext('45度弹道')
gtext('60度弹道')
gtext('75度弹道')
gtext('包络线')
最终画出的各弹道曲线及其包络线如下图所示:
图 1各弹道曲线及其包络线图
问题二实验过程 由安全线的方程:220
2022x V g g v y -=旋转后得到的曲面即为安全区域,并且左右旋转角范围均是60º。
由数学分析中有关旋转曲线的知识可知旋转后的旋转曲面方程为:
)(222220
20z x V g g v y +-=。
通过问题一,可以大概估计出安全线的横坐标的范围应该是在坐标的范围定在3000-5000之间,下面用Matlab 编写程序,并用极坐标作图法,程序代码放
在m ne MySafetyZo .
中。
m ne MySafetyZo .代码:
function MySafetyZone
g=9.8;
v=200;
%采用极坐标作图
[R,theta]=meshgrid(linspace(0,4200,500),linspace(-pi/3,pi/3,100));
x=R.*cos(theta);
y=R.*sin(theta);
z=v.^2./(2*g)-(g./(2*v.^2))*(x.^2+y.*y);
各弹道曲线及包络线图
mesh(x,y,z)
axis([0 5000 -4500 4500 0 2500])
title('炮弹演戏安全区域');
xlabel('x轴');
ylabel('z轴');
zlabel('y轴');
运行程序画出炮弹演习安全区域的边界曲面图3,改图清晰直观,效果较好。
图2炮演习安全区域图。