1、 题目1:导弹跟踪问题 某军一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h的速度向正东方向行驶,该基地立即发射导弹追击敌艇,导弹速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。 1) 试问导弹在何时何处击中敌艇? 2) 如果当基地发射导弹的同时,敌艇立即由仪器发觉,假定敌艇为高速快艇,它即刻以135千米/小时的速度向与导弹方向垂直的方向逃逸,问导弹何时何地击中敌艇? 3) 敌艇与导弹方向成何夹角逃逸才好?从结论中你能得到些什么启示? 思考:敌艇的逃跑策略是什么?在什么样的情形下可能逃脱? 1问题分析: 此问题涉及到得因素主要有:时间、敌艇逃逸速
2、度、导弹追击速度、敌艇行驶方向、敌艇的位置等等因素。 2假设及模型 1) 记导弹击中敌艇的时间为t,敌艇逃逸的速度为m,导弹追击速度为n,敌艇行驶方向与导弹的方向的夹角为θ,敌艇与基地的距离为H。 2) 先分析第一问,根据题意建立坐标系,设基地的为坐标原点(0,0),敌艇的坐标为(0,120),x轴指向正东方向,y轴指向正北方向。假设经过时间t后,导弹的位置为P(x(t),y(t)),则由题意可得: (dxdt)2+(dydt)2=n2; ① 其中 n=450km/h 另外在t时刻,敌艇的位置为(mt,H),其中m为90km/h,由于导弹轨迹的
3、切线方向必须指向敌艇,即直线PM的方向就是导弹轨迹上的P点的切线方向,所以有 dydx=(H-y)(mt-x) ② 公式①和公式②可得到一个微分方程组: dxdt2+(dydt)2=n2;dydx=(H-y)(mt-x) ; 又已知x(0)=0,y(0)=0。 1、 模型求解 采用数值解,这里用差分方法: dx=x(k+1)-x(k),dy=y(k+1)-y(k),dt=t(k+1)-t(k)=h;其中h为时间的步长。 Matlab程序如下: 画出的函数图形如下: 2、 结论分析 第一个问中,导弹会在经过0.277秒后,在(25.005
4、8,120.0031)处击中敌艇。 题目2:数据拟合Malthus人口指数增长模型中的参数 1970年到1980年间美国每隔10年的人口记录如下表: 年份 1790 1800 1810 1820 1830 1840 1850 人口(×106) 3.9 5.3 7.2 9.6 12.9 17.1 23.2 年份 1860 1870 1880 1890 1900 1910 1920 人口 31.4 38.6 50.2 62.9 76 92 10
5、6.5 年份 1930 1940 1950 1960 1970 1980 人口 123.2 131.7 150.7 179.3 204 226.5 问题:用以上数据检验马尔萨斯人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进。 在matlab命令窗口中输入程序如下: 画出的拟合曲线和差值曲线如下: 其中,标有‘+’的是已知数据点,连接数据点的红色实线是线性插值函数曲线,光滑的蓝色函数曲线是最佳拟合曲线。 题目3:现收集了华北地区不同行业的职工工资水平及年平均收入,如下表: 地区 工业 建筑业 交通运
6、输、邮电通讯业 教育、文化艺术和广播电视事业 北京 1327 1737 1529 1244 天津 1161 1631 1503 1162 河北 1113 1428 1245 1026 山西 1210 1493 1297 1108 内蒙 1246 1499 1332 1199 试问:1)不同行业的职工工资水平是否有显著差异? 2)不同地区、不同行业的职工工资水平是否有显著差异? 解:1)先提出零假设H0:各行业因素总体均值相等。 在matlab下计算程序和结果如下: >> clear >> fish=[1327 1
7、737 1529 1244; 1161 1631 1503 1162; 1113 1428 1245 1026; 1210 1493 1297 1108; 1246 1499 1332 1199]; >> save liu fish >> load liu >> fish fish = 1327 1737 1529 1244 1161 1631 1503 1162
8、 1113 1428 1245 1026 1210 1493 1297 1108 1246 1499 1332 1199 >> anoval(fish) ??? Undefined command/function 'anoval'. >> anova1(fish) ans = 6.8562e-005 单因素方差分析表: 因为p= 6.8562e-005<0.05=ɑ,故拒绝H0故可
9、认为不同行业的职工工资水平有显著差异。 解2):首先提出零假设,H1:不同行业因素的效应值为0;H2:不同地区因素的效应值为0;H12:行业因素和地区因素交互效应值为0。 双因素方差分析表: 检验结果:由双因素方差分析表可知,计算得到的p值分别为1.0e-003*[0.0002,0.2886],都小于0.05,所以可拒绝零假设H1和假设H2认为不同地区、不同行业的职工工资水平有显著差别,且行业因素和地区因素没有交互作用。 题目4 :导弹跟踪问题 某军一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h
10、的速度向正东方向行驶,该基地立即发射导弹追击敌艇,导弹速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。 4) 如果当基地发射导弹的同时,敌艇立即由仪器发觉,假定敌艇为高速快艇,它即刻以135千米/小时的速度向与导弹方向垂直的方向逃逸,问导弹何时何地击中敌艇? 解: 3、 问题分析: 此问题涉及到得因素主要有:时间、敌艇逃逸速度、导弹追击速度、敌艇行驶方向、敌艇的位置等等因素。 4、 假设及模型 设t时刻导弹和敌艇的位置分别为(x1,y1),(x2,y2);导弹和敌艇的速度垂直,设在t时刻导弹的行驶方向和x轴所成角度记为a(为方便编程a已经用pi换算过),则
11、此时敌艇与x轴所成角度为(a-1.5708),1.5708=pi/2。取时间间隔h,在t+h时刻有: X1=x1+450*h*cos(a);y1=y1+450*sin(a);x2=x2+135*h*cos(a-0.15708); y2=y2+135*sin(a-1.5708) cos(a)=(x2-x1)/d,sin(a)=(y2-y1)/d,d=sqrt((x2-x1)^2+(y2-y1)^2) 设当d<0.1时,导弹击中敌艇。 5、 matlab求解 先建立m文件: function[x,y,z]=fm(h,p) k=1; hold on x1=0;y
12、1=0;x2=0,y2=120; while k<500 plot(x1,y1,'r') plot(x2,y2) a=atan((y2-y1)/(x2-x1)); x1=x1+450*h*cos(a); y1=y1+450*h*sin(a); x2=x2+135*h*cos(a-1.5708); y2=y2+135*h*sin(a-1.5708); if(sqrt((x1-x2)^2+(y1-y2)^2)
13、 z=k*h; x=x1; y=y1; 再工作空间执行以下命令: >> h=0.001; >> p=0.1; >> [x,y,z]=fm(h,p) 结果如下: x = 35.0550 y = 116.4064 z = 0.5000 得到图形如下: 6、 结论 导弹将会在向东35.055米,向北146.4064处击中敌艇。 题目5 求出教科书P232页图14.2中从点1到顶点6的最短路径极其长度。(使用dijkstra算法求解) 先建立dijkstra.m文件: fun
14、ction [d,DD]=dijkstra(D,s)
[m,n]=size(D);
d=inf.*ones(1,m);
d(1,s)=0;
dd=zeros(1,m);
dd(1,s)=1;
y=s;
DD=zeros(m,m);
DD(y,y)=1;
counter=1;
while length(find(dd==1)) 15、
for i=1:m
if dd(i)==0&&d(i) 16、inf;
inf,4,0,2,inf,3;
5,2,2,0,inf,7;
8,inf,inf,inf,0,10;
inf,inf,3,7,10,0];
>> s=1;
>> [d,DD]=dijkstra(D,s)
运行结果为:
d =
0 6 7 5 8 10
DD =
1 0 0 2 0 0
0 0 4 3 0 0
0 4 0 0 5 0
2 3 0 0 0 0
0 0 5 0 0 6
0 0 0 0 6 0






