您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 模型解析及Matlab程序-抢渡长江
抢渡长江第1页,共6页抢渡长江问题提出:“渡江”是武汉城市的一张名片。1934年9月9日,武汉警备旅官兵与体育界人士联手,在武汉第一次举办横渡长江游泳竞赛活动,起点为武昌汉阳门码头,终点设在汉口三北码头,全程约5000米。有44人参加横渡,40人达到终点,张学良将军特意向冠军获得者赠送了一块银盾,上书“力挽狂澜”。2001年,“武汉抢渡长江挑战赛”重现江城。2002年正式命名为“武汉国际抢渡长江挑战赛”,定于每年的5月1日进行。由于水情、水性的不可预测性,这种竞赛更富有挑战性和观赏性。2002年5月1日,抢渡的起点设在武昌汉阳门码头,终点设在汉阳南岸咀,江面宽约1160米。当日的平均水温16.8℃,江水的平均流速为1.89米/秒。参赛的国内外选手共186人(其中专业人员将近一半),仅34人到达终点,第一名的成绩为14分8秒。除了气象条件外,大部分选手由于路线选择错误,被滚滚的江水冲到下游,而未能准确到达终点。假设在竞渡区域两岸为平行直线,两岸的垂直距离为1160米,从武昌汉阳门的正对岸到汉阳南岸咀的距离为1000米,见图1。下面借助数学模型解决如下问题:(1)假定在竞渡过程中游泳者的速度大小和方向不变,且竞渡区域每点的流速均为1.89米/秒。如果2002年第一名是按最优路径游泳的,试说明她是沿着怎样的路线前进的,求她游泳速度的大小和方向。(2)在(1)的假设前提下,试为一个速度能保持在1.5米/秒的人选择最佳的游泳方向,并估计他的成绩。(3)在(1)的假设下,如果游泳者始终以和岸边垂直的方向游,他(她)们能否到达终点?并说明为什么1934年和2002年能游到终点的人数的百分比有如此大的差别;给出能够成功到达终点的选手的条件。(4)流速沿离岸边距离的分布为(设从武昌汉阳门垂直向上为y轴正向):米米秒,米米米秒,米米米秒,米1160960/47.1960200/11.22000/47.1)(yyyyv(1)游泳者的速度大小(1.5米/秒)仍全程保持不变,试为他选择游泳方向和路线,估计他的成绩。(5)流速沿离岸距离为连续分布1160m1000m长江水流方向终点:汉阳南岸咀图1起点:武昌汉阳门门抢渡长江第2页,共6页米米秒,米米米秒,米米米秒,米1160960/)1160(20028.2960200/28.22000/20028.2)(yyyyyyv问题求解1.设游泳者的速度大小和方向均不随时间变化,即令)sincos()(uutu,,而流速)0,()(vtv,其中u和v为常数,为游泳者和x轴正向间的夹角。于是游泳者的路线(x(t),y(t))满足cos,(0)0,()sin,(0)0,()dxuvxxTLdtdyuyyTHdt(1)T是到达终点的时刻。令cosz,如果(1)有解,则221,1)()(,)()(zTuHtzutyvuzTLtvuztx(2)因为21)()(zuvuzHLtytx所以游泳者的路径一定是连接起、终点的直线,且2222221LHHLTuzvuuzvvuz(3)若已知L,H,v,T,由(3)可得zTvTLuvTLHvTLz,)(22(4)由(3)消去T得到)(12vuzHzLu(5)给定L,H,u,v的值,z满足二次方程02)222222222uLvHuvzHzuLH((6)(6)的解为2222221222()()HvLHLuHvzzHLu,(7)方程有实根的条件为yxL0Huv图1抢渡长江第3页,共6页22LHHvu(8)为使(3)表示的T最小,由于当L,u,v给定时,0dzdT,所以(7)中z取较大的根,即取正号。将(7)的z1代入(3)即得T,或可用已知量表示为2222222)(vuLvvHuLHT(9)以H=1160m,L=1000m,v=1.89m/s和第一名成绩T=848s代入(4),得z=-0.641,即=117.50,u=1.54m/s。2.以H=1160m,L=1000m,v=1.89m/s和u=1.5m/s代入(7),(3),得z=-0.527,即=1220,T=910s,即15分10秒。3.游泳者始终以和岸边垂直的方向(y轴正向)游,即z=0,由(3)得T=L/v≈529s,u=H/T≈2.19m/s。游泳者速度不可能这么快,因此永远游不到终点,被冲到终点的下游去了。式(8)给出了能够成功到达终点的选手的速度,其几何意义为:以速度向量v的终点为圆心,u为半径做半圆,O与半圆上任意一点的连线为可能的合速度方向,当u小于v到OA的距离时,合速度方向一定指向终点A的下游,游泳者无法到达终点。反之,当u为半径的半圆与有唯一交点时,合速度方向就是最优的游泳方向。当u为半径的半圆与有两个交点时,合速度大的方向就是最优速度。对于2002年的数据,H=1160m,L=1000m,v=1.89m/s,只要u1.43m/s就能到达终点。假设1934年竞渡的直线距离为5000m,垂直距离仍为H=1160m,则L=4864m,仍设v=1.89m/s,则游泳者的速度只要满足u0.44m/s,就可以选到合适的角度游到终点。两次游到终点人数百分比差别的主要原因是游泳者路线(速度方向与水流方向的夹角)选择错误,被流水冲到下游。4.如图2,H分为H=H1+H2+H33段,H1=H3=200m,H2=760m,v1=v3=1.47m/s,v2=2.11m/s,游泳者的速度仍为常数u=1.5m/s,有v1,v3u,v2u,相应的游泳方向1,2为常数。路线为ABCD,AB平行CD。L分为L=L1+L2+L3,L1=L3,据(8),对于v2u,L2应满足)752222222muuvHL((10)因为v1u,故对L1无要求。对于确定的L1,L2,仍可用1中的公式计算游泳的方向和时间。因为L1=L3=(L-L2)/2,由(9)知所需要的总时间为L1CDB21H3H1uuA3uL2H2v2v1v3图2L1抢渡长江第4页,共6页21212212122221222222222222222/))4/)(2)(vuvLLvHuLLHvuvLvHuLHT(((11)用枚举法作近似计算:将L2从760m到1000m每20m一段划分,相应的L1,L3从120m到0m每10m一段划分。编程计算如下,其中a1,a2和T1,T2分别为2段中游泳的方向和时间,而T=T1+T2+T3为总的时间。附:MATLAB程序symsH1H2L1L2uv1v2a1a2T1T2TLH1=200;H2=760;u=1.5;v1=1.47;v2=2.11;L=1000;L2=[1000:-20:760]';L1=(1000-L2)/2;T1=(sqrt((H1^2+(L-L2).^2/4)*u^2-H1^2*v1^2)-(L-L2)*v1/2)/(u^2-v1^2);T2=(sqrt((H2^2+L2.^2)*u^2-H2^2*v2^2)-L2*v2)/(u^2-v2^2);T=2*T1+T2;a1=(pi-asin(H1./(u*T1)))*180/pi;a2=(pi-asin(H2./(u*T2)))*180/pi;x=[L1T1a1L2T2a2T]运行结果如下:x=1.0e+003*00.67000.16851.00000.50910.09561.84910.01000.52590.16530.98000.51090.09731.56260.02000.41990.16150.96000.51330.09921.35310.03000.34410.15720.94000.51640.10111.20460.04000.29000.15260.92000.52040.10321.10040.05000.25090.14790.90000.52540.10531.02730.06000.22220.14310.88000.53170.10770.97620.07000.20070.13840.86000.53970.11010.94110.08000.18440.13370.84000.54970.11280.91850.09000.17180.12910.82000.56280.11580.90650.10000.16210.12470.80000.58040.11920.90460.11000.15450.12040.78000.60600.12330.91500.12000.14860.11620.76000.65270.12910.9499由以上数据可知L1=L3=100(m),L2=800(m)时T=904.58(s)最小,即成绩为15分5秒,相应的游泳方向1=3=124.660,2=119.190。5.H仍分为3段,对于流速连续变化的第1段H1=200m,方程(1)变为11111)(,0)0(,sin)(,0)0(,cosHTyyudtdyLTxxyHvudtdx(12)抢渡长江第5页,共6页其中v(=2.28m/s)为常数,仍设游泳者的速度大小和方向均不随时间变化,及cosz,若(1)有解,则)(,1)()(,21)(11211212TyHtzutyTxLuzttHzuvtx(13)是一条抛物线。类似于1中的作法得到,给定L,H,u,v的值,z满足二次方程044)422122121222121uLvHuvzHzuLH((14)取绝对值较小的根,为uLHvHuLHLvHz)(2)(4212122122121121(15)有实根的条件为212112LHHvu(16)将(15)的z代入(13)得第1段的时间2111zuHT(17)因uv/2,由(16)对L1无要求。对于第2段H2=760m,仍用(9),(10),应有L2870m,且第2段的时间222222222222)(vuvLvHuLHT(18)注意到L1=L3=(L-L2)/2,T1=T3,得总的时间为122TTT(19)用枚举法作近似计算:将L2从880m到1000m每20m一段划分,相应的L1,L3从60m到0m每10m一段划分,编程计算如下,其中a1,a2,a3和T1,T3,T2分别为3段中游泳的方向和时间,而T=T1+T2+T3为总的时间。附:MATLAB程序symsa1a2T1T2TL1L2H1H2uvzH1=200;H2=760;u=1.5;v=2.28;L2=[1000:-20:880]';L1=(1000-L2)/2;z=(-H1^2*v+L1.*sqrt(4*(H1^2+L1.^2)*u^2-H1^2*v^2))./(2*(H1^2+L1.^2)*u);T1=H1./(u*sqrt(1-z.^2));T2=(sqrt((H2^2+L2.^2)*u^2-H2^2*v^2)-L2*v)/(u^2-v^2);T=T2+2*T1;a1=acos(z)*180/pi;a2=(pi-asin(H2./(u*T2)))*180/pi;抢渡长江第6页,共6页x=[L1T1a1L2T2a2T]x=1.0e+003*00.20520.13951.00000.52250.10410.93280.01000.19380.13650.
本文标题:模型解析及Matlab程序-抢渡长江
链接地址:https://www.777doc.com/doc-5670420 .html