1数学建模,数学实验与Matlab的应用实例2特拉法尔加海战TheBattleofTrafalgar31805年,英国海军上将纳尔逊勋爵指挥英国海军舰队赢得特拉法尔加海战的胜利。此次海战无论在英国的历史和世界军事史上都具有重要的意义。位于伦敦的威斯敏斯特的特拉法尔加广场(TrafalgarSquare),纳尔逊纪念碑(Nelson'sColumn)即为纪念此次海战而建。4为纪念这场经典海战的200周年,来自35个国家的160余艘战舰和船只聚集在英格兰南部海域,重演当年海战。在2005年6月28日的庆典中,英女王伊丽莎白二世登上英国皇家海军船只,完成这次世界最大规模的海军舰队大检阅。在英格兰南部朴次茅斯港附近的索伦特海峡,来自35个国家海军的167艘战舰和船只于26日夜间就已聚集在此,其中包括60艘英国军舰。法国、美国、西班牙和意大利与东道主英国都派出航空母舰。5纪念特拉法尔加海战英举行最大规模海军检阅周年的纪念系列活动,由英国皇家海军和英国政府共同举办。作为2005英国海洋年的先导活动,它将一直持续到明年10月。拿破仑建立法兰西第一帝国后,为夺取英吉利海峡的制海权,命海军将领维尔纳夫与罗什福尔、布勒斯特的分舰队会师后远征英国本土。然而由于途中误会,维尔纳夫分舰队南下驶往西班牙南部的加的斯港。英国海军名将纳尔逊得知后,乘“胜利”号旗舰从朴次茅斯出航,与英海军科林伍德分舰队会合。1805年10月20日,包括5艘西班牙主力舰在内的法西联合舰队(主力舰33艘、驱逐舰5艘,装备火炮300门,兵员3万人)从加的斯港出航,准备转移到地中海。次日晨,当法西舰队行进到特拉法尔加角附近时,被英国舰队(主力舰27艘,装备火炮2500门,兵员2万人)发现,于是双方展开大战。英国海军最终取得了海战的胜利。法西舰队18艘舰船被击沉或俘获,7000人被俘,2600人死伤。而英军统帅纳尔逊被法国狙击手击中,伤重不治而殉国,英国人把他视为民族英雄,他的旗舰“胜利”号也被当作重要的历史文物而保存了下来。这次海战确立了英国在海上的霸权地位,而纳尔逊把帆船时代特别壮观的海战线式战术发展到最高峰,成为帆船时代海战的典范。6167艘战舰抵英,经典海战重演.7乐队在游行中8英国演员装扮纳尔逊在座舰胜利号前9重现当年海战的油画10例特拉法尔加海战(TheBattleofTrafalgar)1805年,纳尔逊海军上将率领的英国舰队与法国-西班牙联合舰队在特拉法尔加角进行了一场海战.当时法国-西班牙联合舰队有战舰F0=33艘,英国舰队有战舰B0=27艘.双方的战斗力与各自的战舰数成比例.11影响战斗力的三个因素:1.战斗减员,与对方的战斗力成正比2.非战斗减员,与己方战斗力成正比3.增援部队本例中只考虑第一个因素.12假设在每一个回合中,各方损失的舰只数是对方舰只数的10%,则有数学模型Bk+1=Bk0.1Fk,Fk+1=Fk0.1Bk.这正是前面已讨论过的正规战争模型..11.01.011kkFBFB其矩阵形式为:Top2013记B为,F为,,则有.11.01.01211211kkkkxxxxAXX1x2xkkxxX2114用Matlab进行实验:X=[27,33]’;A=[1,-0.1;-0.1,1];k=0;k=k+1,X=A*X每运行一次X=A*X代表进行一次战斗,k记录了战斗次数.最后一行可用“”反复调用.15如果双方都在战斗中投入全部兵力,X0=(27,33)T,则经过10个回合后,X10=A10X0=(2.6791,18.2416)T,结果将是英国舰队仅剩3艘战舰,且至少有一艘遭到重创,而法国-西班牙舰队还剩18艘战舰.显然是英方战败.16但是实际的结局是战斗以英方的胜利告终.当时法西联合舰队是排列为一路纵队,并分为B,A,C三组,分别有战舰17,3,13艘(如下图).B(17)A(3)C(13)17纳尔逊决定采用各个击破(Divide-and-Conquer)的策略:先用13艘战舰去攻击对方的A组3艘战舰,留14艘作预备队.然后用战斗剩余的战舰与预备队合并去攻击对方的B组,最后用剩余的力量与对方剩余的力量决战.设每一个回合中,各方损失的舰只数是对方舰只数的5%.18用数学模型作数学实验如下:;0709.16471.12,105.005.01,313.10330XAXAX;4441.12734.19,0709.186471.261714.20151530XAXXX.5146.15834.12,4441.142734.19130.301717150XAXXX19从实验的结果来看,英方将获胜.事实上,纳尔逊率领的英国舰队确实获得了胜利,法西联合舰队在第三轮战斗中还剩13艘战舰时战败而去,但是纳尔逊本人也在战斗中阵亡.20讨论题:如果海战的双方分别是水面舰队和潜艇部队,那么应该用那一种战争模型?请自设数据和合理的参数进行数学实验并分析结果.Top1221设X为参战一方(水面舰队)的战舰数,Y为另一方(潜艇部队)的潜艇数,则可建立如下数学模型:Xk+1=XkYk,Yk+1=XkXkYk.22例一只猎犬发现其正东方100米处有一只野兔,野兔以速度v向其正北方100米处的洞穴逃跑,猎犬向野兔追去,速度是2v.求:1.猎犬的运动轨迹;2.追上兔子的时间、地点.模型1:,)(102xdxxys.0)0(,0)0(yy,1002)(xysxy23消去s解得)],()100()([2)(102xyxxydxxyx,)100(2)(1)(2xxyxy故得二阶常微分方程.0)0(,0)0(,)100(2)(1)(2yyxxyxy当时停止,其中)2/,100(),(syxvstxyxxys2)].()100()([224模型2:,)(100)()()(txtyvttxty,)2())(())((222vtxty.0)0(,0)0(yx化为微分方程组.0)0(,)]([)100()(2)(,0)0(,)]([)100())(100(2)(2222ytyvtxyvtvtyxtyvtxtxvtx当时停止.),100(),(vtyx25模型1的解:求解二阶常微分方程.0,0,)100(21002xxyyxyy解令,则原方程化为微分方程组yyyy12,.)100(21,22221xyyyy26用M文件ff26.m来定义此方程组,内容如下:functionz=ff26(x,y)z(1)=y(2);z(2)=sqrt(1+y(2).^2)./(2*(100-x));z=[z(1)z(2)]';Matlab程序:y0=[00]';[x,y]=ode23('ff26',[0100],y0);plot(x,y(:,1),'o')2702040608010001020304050607028模型2的解:求解一阶微分方程组:.0)0(,2)100()(,0)0(,2)100()(1002222yvxyvtyvtdtdyxvxyvtxdtdx29解M文件ff26_1.m:functionz=ff26_1(t,y)v=1;z(1)=2*v*(100-y(1))/sqrt((v*t-y(2))^2+…(100-y(1))^2);z(2)=2*v*(v*t-y(2))/sqrt((v*t-y(2))^2+…(100-y(1))^2);z=[z(1)z(2)]';(注:…为换行标记)30Matlab程序:tintvl=[070];y0=[00];[t,y]=ode23('ff26_1',tintvl,y0);plot(y(:,1),y(:,2),100*ones(size(t)),t)