3.3模型的建立与求解
模型Ⅰ:地球是半径为6371千米的球体。具体模型如图1所示。
由已知条件可知,根据飞行时间( T) =
飞行路程(s),V 是已知恒定的,所以T 主要取决于S ,
飞行速度(v)于是问题的关键在于如何求得S。
飞机飞行的最优弧我们可以理解为就是两点之间的球面距离,所以原航线的路程就是每两个路经之地的球面距离之和,新航线的路程就是北京与底特律的球面距离。
当地球是一半径为6371 km 的球体时,球面上任意两点之间的球面距离L可以根据公式L=来计算,所以必须知道两点所对应的圆心角度数γ与飞机到地心的距离R。
(1) R的计算
飞机到地心的距离由地球半径与飞行高度两部组成,即R=6371+10 = 6381 (km)
(2)γ的计算
利用立体几何知识求γ
?180?R
图 1 模型1-球体
作点A到圆O1 上的射影点C在△BO1C 中用余弦定理可得:| BC| 2 = r21+ r22- 2 r1 r2cosθ 在△ABC 中用勾股定理可得:| AB| 2 = r21+ r22- 2 r1 r2cosβ+ R2 (sinα2 - sinα1) 2 在△AOB 中用余弦定理可得:|AB |2 = 2 R2 (1 - cosγ)
其中r1 = Rcosα1 , r2 = Rcosα2,最后求得:γ= arccos (sinα1 sinα2 + cosα1cosα2cosθ)
(3) T 的计算
T =
??R180V??R180V?sin?1sin?2?cos?1cos?2cos?? (1)式 arccos
(4)t 与t′的计算
5
07500125 郭艳 数学模型与数学软件综合训练
?1?[40.25531365362595550474742]*?180 ?2?[3136536259555047474242]*?180
??[5.54185515105553353]*?180
把已知条件代入(1) 中,可得:
t??*6381180?980?10.8734(h)arccos(sin40.2550sin420?cos40.2550cos420cos159.1540)
用MATLAB 语言编程得到了t′= 14.7793(h)〈见附录1〉
(5) 可节省的时间计算
Δt = t′- t = 3. 9059 (h)
模型Ⅱ:地球是一旋转椭球体,赤道半径为6378千米,子午线短半轴为6357千米。具体模型如图2所示。 解法Ⅰ:
当地球是一旋转椭球体时,设球心O到球面上任意一点的长度为ρ,则这一点的参数方程可表示为:
?x??cos?sin?x2y2z2??y??cos?xos? 与椭球体方程2?2?2?1联立得:
aab?z??sin???cos2?sin2?????a2?b2???1( a = 6388 , b = 6367) ??2
设A1 、A2 的坐标为( x1 , y1 , z1 ) 、( x2 , y2 , z2 ) ,记过A1 、A2 ,O 的平面方程为:
A x + B y + z = 0 (2)
将A1 、A2 的坐标代入(2) 式得:
6 07500125 郭艳 数学模型与数学软件综合训练
A?B?z2y1?z1y2x1y2?x2y1z2x1?z1x2y1x2?y2x1
利用MATLAB 软件计算得:Ai ,B i (见附录)。
?x ??cos?sin??y??cos?cos??由曲线方程L:?可得α与β的关系Acosαsinβ+ Bcosαcosβ= -sinα,
?z??sin???Ax?By?z利用MATLAB 软件进一步计算得α与β的关系,所以L 的长度为:
L??a2a1x?2?y?2?z?2da
即可节省时间为:Δt = ( L - L 1) / V
通过计算机模拟,可以求出Δt = 4.12891h〈见附录2 、3〉。同时,根据各所经的地点的空间坐标绘出飞机航线。〈见附录4〉
4 模型评价与推广
上述模型的建立与求解依据立体几何、参数方程和定积分的原理和方法,MATLAB 算法科学,符合实际,结果精确合理,模型的参数作适当的修改后,可用于航空控制系统。 模型1 中因地球是一球体,所以优点显而易见,计算步骤少,方法简单。 相比之下,模型2 的计算过程就繁琐复杂得多了,但模型2 却比模型1 更切合实际。由于在模型1 、模型2 中,均不考虑地球自转等多种因素对飞机的影响,所以结果会产生一定误差,建模中引进了参数方程的定积分求解比较精确地求出了时间T。
7 07500125 郭艳 数学模型与数学软件综合训练
三 总结
从7月3号开始,我全身心地投入学习、备战数学模型与数学软件综合训练。学习的地点主要是在B馆机房中,整个过程下来,我最大的几点体会:合作意识,相互协作,互补不足;友情是良好合作的催化剂;学习的能力,个人的成长;合理的时间安排;正确的论文格式;算法的设计。
我的题目是:飞越北极。在前期的准备中,我一头扎进了图书馆,一连看了好几本关于数学建模的书,通过网络,从互联网上获得了很多很多优秀的数学模型。短短两周里,我的学习态度有了很大的转变,初中过后,很少这样有激情地学过东西,这是第一次。我从理论数学看到应用数学,从优化问题看到模糊理论,更在老师,同学的帮助下,看懂了那篇matlab的程序,终于明白了模拟飞越北极节省时间的核心思想。
数学建模是把现实世界中的实际问题加以提炼,抽象为数学模型,求出模型的解,验证模型的合理性.并用该数学模型所提供的解答来解释现实问题,它是一门将数学综合应用到实际中解决实际问题的学科。建立模型就是对于现实中的原型.为了某个特定目的,作出一些必要的简化和假设。运后适当的数学工具得到一个数学结构、它或者能解释特定现象的现实状态,或者能预测到对象的未来状况,或者能提供处理对象的最优决策或控制。现实生活中处处都有数学,处处都存在着数模的思想,关键是我们缺乏一双发现数学知识的眼睛,缺乏实践操作的动手能力。数学建模课程虽开设的时间较少,然而其主要思想都已通过王教授那生动的讲述深入我的脑海,加上二次的亲自动手建模,那种用数学的眼光看待问题,分析问题、提出问题、查找资料和自学等各方面的能力都有了长足的提高。
通过这次有意义建模活动,使我对学习,创新和研究有了新的理解和认识。这是我第一次感受到数学的无处不在,无所不能。我觉得数学建模能为学生提供自主学习、自主探索、自主提出问题、自主解决问题的机会,培养学生的数学观念、科学态度和合作精神,激发学生的学习兴趣,培养学生认真求实、崇尚真理、追求完美、讲究效益、联系实际的学习态度和学习习惯。它能提高学生应用所学的数学知识解决实际问题的能力,从过去强调数学知识的“有用、可用”,到使学生所学知识的“想用、能用和会用”,让学生更多自主的实践,把学习知识、应用知识、探索发现、使用计算机、培养良好的科学态度与思维品质更好地结合起来,使学生在问题解决的过程中得到学数学、用数学的实际体验,加深对数学的理解。最大的感悟就是,当时的学习不再是被动了,不再是为了应付那无聊的考试了,我是为了解决问题而学习的(而且是自己非常想弄清楚的问题)。在我看来,这才叫真正的学习。
“一次建模,终生受益”。我衷心感谢数学建模课程,更由衷感谢老师的谆谆教导。
8
07500125 郭艳 数学模型与数学软件综合训练
四 参考文献
[ 1 ] 梁国业,数学建模,北京市:冶金工业出版社,2004年。
[2] 廖健平,MATLAB实用教程,北京:中国水利水电出版社,2008年。 [3] 包晔,江慧宏,周华莎,“飞越北极”的时间节省模型,第13卷第4期: 2001年。 [4] 钟绍军,骆风银,飞越北极的数学模型,http://www.fjnumcs.com, 2010-7-2。 [5] 罗万成,大学生数学建模案例精选,http://www.madio.net/matrix/, 2007年。
[6] 叶其孝,大学生数学建模竞赛辅导教材4,http://www.madio.net/matrix/2009/0806, 2001年。
五 附录
附录1
a = [ 40. 255 31 36 53 62 59 55 50 47 47 42 ] a=a*pi/180
b=[31 36 53 62 59 55 50 47 47 42 42] b=b*pi/180
c=[5.54 18 55 15 10 5 5 5 3 35 3] c=c*pi/180 s=0 for i=1:11
x(i)=sin(a(i))*sin(b(i));
y(i)=cos(a(i))*cos(b(i))*cos(c(i)); t(i)=acos(x(i)+y(i))*6381/980; s=s+t(i) end
附录2
function z(n1,c1,c2)
t2=[58 40 15 30 40 45 50 55 58 93 96]*pi/180; t1=[63.54 58 40 15 30 40 45 50 55 58 93]*pi/180; c1=[40.255 31 36 53 62 59 55 50 47 47 42]*pi/180; c2=[31 36 53 62 59 55 50 47 47 42 42]*pi/180;
w=cos(c1)*cos(c2)*sin(t1)-cos(c1)*sin(t2)*cos(c2)*cos(t1); q1=sin(c2)*cos(c1)*cos(t1)-sin(c1)*cos(c2)*cos(t2); q2=sin(c2)*cos(c1)sin(t1)-sin(c1)*cos(c2)*sin(t2); A=q1/w B=q2/w syms n1 n2 p
9
07500125 郭艳 数学模型与数学软件综合训练
s2=solve('p^2*(cos(n1)/6388)^2+(sin(n1)/(6367)^2)=1','p'); s1=solve('A*cos(n1)*sin(n2)+B*cos(n2)*cos(n1)=-sin(n1)','n2'); syms x y z xx yy zz x=p*cos(n1)*sin(s1); y=p*cos(s1)*cos(n1); z=p*sin(n1); xx=diff(x,'n1'); yy=diff(y,'n1'); zz=diff(z,'n1'); L=0
f=sqrt(xx^2+yy^2+zz^2); for i=1:11
s3(i)=int('f',c1(i),c2(i)); L=L+s3(i) end
附录3
function z(n1,c1,c2) t2= 96*pi/180; t1=63.54 *pi/180; c1=40.255 *pi/180; c2= 42*pi/180;
w=cos(c1)*cos(t2)*cos(c2)*sin(t1)-cos(c1)*sin(t2)*cos(c2)*cos(t1); q1=sin(c2)*cos(c1)*cos(t1)-sin(c1)*cos(c2)*cos(t2); q2=sin(c2)*cos(c1)sin(t1)-sin(c1)*cos(c2)*sin(t2); A=q1/w B=q2/w syms n1 n2 p
s2=solve('p^2*(cos(n1)/6388)^2+(sin(n1)/(6367)^2)=1','p'); s1=solve('A*cos(n1)*sin(n2)+B*cos(n2)*cos(n1)=-sin(n1)','n2'); syms x y z xx yy zz x=p*cos(n1)*sin(s1); y=p*cos(s1)*cos(n1); z=p*sin(n1); xx=diff(x,'n1'); yy=diff(y,'n1'); zz=diff(z,'n1'); L=0
f=sqrt(xx^2+yy^2+zz^2); L1=int(f,c1,c2); end
附录4
a1=[40 30 36 53 0 62 59 55 47 47 42 42]
a2=[0 5.54 23.54 78.54 93.54 103.54 108.54 113.54 118.54 121.54 156.544 1590.54] z=6381*cos(z1)*cos(a1*pi/180) x=6381*sin(z1) y=a1*pi/180 end
10
07500125 郭艳 数学模型与数学软件综合训练