海上缉私问题建模 题目二组别:第五组组长:练佳翔组员:邵 力组员:庞雪梅2 海上缉私问题摘要针对海上缉私问题, 要求出缉私船是否能追上走私船, 或着是求缉私艇追上走私船的位置和时间,就需要知道走私船和缉私艇的位置坐标、大概的行驶路线、及二者的速度对于走私船和缉私艇的位置坐标,可以由二者的行驶路线 、速度、行驶时间之间的关系得到而走私船和缉私艇的位置坐标,可用三角函数、坐标关系、圆的位置关系求解 当缉私船追上走私船时, 走私船和缉私艇的位置坐标相同, 即二者的横坐标相等,纵坐标相等在此期间,再加以 MATLAB 软件进行求解关键字: 海上缉私 位置坐标 速度 MATLAB 软件问题重述分别对以下情况建立缉私船的位置和航线的数学模型, 自己设定速度等参数, 求数值解:(1) 走私船向正东方向非匀速直线行驶, 其速度 ( )a t 按正弦规律变化, 如图 1. 已知缉私船以速度 b 匀速追击, 1.5b d ( d 为常数) ,两船初始距离 2c d .图 1 (2) 两船速度大小都不变,走私船以速度 a 沿着与正东方向成 角的直线行驶,如图 2.已知缉私船的速度 1.6b a ,两船初始距离 c a .取 25 与 65 ,求数值解,并说明走私船按哪个角度逃跑较快?3 图 2(3) 两船速度大小都不变, 走私船以速度 a 沿半径为 r 的圆弧向 P 点逃跑, 现有两种方案, 如图3.问两种方案是否都能到达 P 点?已知圆弧半径 r a ,缉私船的速度 1.4b a ,两船初始距离0.8c a .方案 1 方案 2图 3 (4)两船速度都大小不变,走私船以速度 a 先向正东方向直线行驶,一段时间(设尚未被缉私船追上)后改变方向,沿着与正东方向成 角 (90 180 ) 的直线行驶,如图 4.已知缉私船的速度 1.2b a ,两船初始距离 1.5c a .取 170 ,求数值解.图 4(4) (5) 开始两船速度大小都不变, 走私船以速度 a 向正东方向沿直线行驶, 但当两船距离小于 r 时,缉私船会发现被人追击,将沿正北方向以速度 g 加速逃跑,如图 5.已知 0.5r a , 1.5g a ,缉私船的速度 1.8b a ,两船初始距离 3c a ,求数值解.4 图 5(6) 实际在追击时,缉私船速度方向的改变并不连续,每隔时间 t 变换一次角度,在两次变换之间,缉私船按直线运动.若两船速度大小都不变,走私船以速度 a 向正东方向沿直线行驶, 30a (海里 /小时) , 缉私船的速度 5 0b (海里 /小时) , 两船初始距离 2 5c(海里) , 60t (秒) .试画出缉私船的航线图,建立此时的追击模型,比较与之前模型有何不同,并求数值解.问题分析问题一:要确定缉私船追上走私船的位置及时间,就必须确定缉私船、走私船的坐标。
走私船的速度 ( )a t 按正弦规律变化并向正东行驶,因此走私船的位移即向东行驶的距离可以用 ( )a t 与坐标轴围成的面积表示而缉私艇的坐标设为 ),( yxp ,再用缉私艇与走私船之间的位置关系,得出 x , y 的表达式再根据两者坐标即可算出结果问题二: 走私船以速度 a 沿着与正东方向成 角的直线行驶 根据走私船的起始点 c 与角的位置关系,及走私船的速度,可以算出走私船坐标而缉私艇的坐标设为),( yxp ,再用缉私艇与走私船之间的位置关系,得出 x , y 的表达式再根据两者坐标即可算出结果问题三: 由于走私船的行驶轨迹是圆弧, 所以可以利用圆弧与所对圆心角的关系得出走私船的坐标的值 而缉私艇的坐标设为 ),( yxp , 再用缉私艇与走私船之间的位置关系,得出 x , y 的表达式再根据两者坐标即可算出结果5 模型假设( 1) 在整个追赶拦截的过程中, 缉私船和走私船都不会有故障发生导致船不能正常行驶,在海上没有发生因为天气突然发生变化阻碍船前行的情况 2) 走私船的行驶速度一直是呈正弦规律变化,缉私船一直是匀速前行 3) 建立直角坐标系, 在缉私船发现走私船时计时 ( t=0) , 设此时走私船的位置在 ( 0,c) ,缉私船位置在( 0, 0) 。
4) 设在任意时刻缉私船的坐标( x, y) ,走私船到达 Q( at, c)点,直线 PQ 与缉私船航线相切,切线 PQ 与 y 轴正方向夹角为( 5) 设常数 d=20,缉私船 b=1.5 d=30 海里 /小时,初始距离 c=2 d=40 海里符号定义1、任意时刻缉私船的坐标( x, y)2、走私船到达 Q( at, c)点3、切线 PQ 与 y 轴正方向夹角为4、初始位置 c 5、缉私船速度 b 6、走私船速度 a 7、走私船行驶 t 时间的路程 k 模型建立与求解模型一 :模型建立:( 1)根据题目所给走私船的 速度 ( )a t 的 图,可以求解出 速度 ( )a t 的表达式:dtdta )5/sin(05.0)(走私船的位移即向东行驶的距离可以用 ( )a t 与坐标轴围成的面积表示如下:)())5/sin(05.0()()(00tddtdtdtakttdtdtd 25.0)5cos(25.0又因为走私船从 ),0( cc 处向正东行驶,因此走私船在 t 时刻的位置在:)),()((0ctdtaBt6 ( 2)缉私船的速度 db 5.1 ,两船的初始位置 c=2d缉私船在 x, y 方向是速度分别为sin5.1sin dbddtxcos5.1cos dbddty得到微分方程:2222 )()(cos,)()(sinycxkykycxkxk初始条件为:0)0(x , 0)0(y模型求解:用 MATLAB 求数值解,可得结果如图所示。
图 1.1 x( t) , y( t)曲线7 图 1.2 y( x)曲线模型二模型建立:( 1 )走私船以速度 a 沿着与正东方向成 角的直线行驶, 时间 t 时走私船的行驶距离为tak *根据 角的三角函数关系可以得出,时间 t 时走私船的位置:tatAC sin c o satCQayatcQXAQAD sinxatCBCQBQ cos222 )cos()sin( xaayatBQADAB8 ( 2)缉私船的速度 db 5.1 ,两船的初始位置 c=2d缉私船在 x, y 方向是速度分别为sin5.1sin dbddtxcos5.1cos dbddty得到微分方程:2222 )()(cos,)()(sinycxkykycxkxk初始条件为:0)0(x , 0)0(y( 3)把 25 与 65 代入( 1)中分别得出走私船的坐标模型求解当 25 时9 当 65 时10 11 模型三模型建立 :根据我们的观测,方案一的走私船不能够到达 p 点又因为辑私船在 x, y 方向的速度分别为ksinbddtx , kcosbddty既需求 sink 和 cosk (1) 已知圆弧半径 r a ,缉私船的速度 1.4b a ,两船初始距离 0.8c a(2)假设走私船和辑私船在 t 时在在坐标轴上的点为 z( m, n) q( x, y),通过船经过的圆心角度 p 来表示点 z P=a*t*360/(2*pi*r) r =a p= 180*t/pi m=a-a*cos(p) n=0.8*a+a*sin(p) (3)zp 连线与水平的夹角设为 k,构成一个三角形,需求三边,根据两座标,可得,两直角边为 a-a*cos(p)-x 和 0.8*a+a*sin(p)-y ,勾股定理得第三边为22 y-sin(p)*aa*0.8x-cos(p)*a-a )()(( 4)编程时记 x( 1) =x, x(2)=y, x=(x(1),x(2)) T ,a=20 方案一如下:缉私 船在 yx , 方向的速度分别为)sin(*),cos(* bdtdysbdtdx 。
rtapipita *2*4*2*12 在方案二如下:缉私船在 yx, 方向的速度分别为 )sin(*),cos(* bdtdysbdtdx 13 p 点的坐标为 ),( crr 即为 )54,30(从两张初值表中可看出,走私船按照方案一逃跑在点 ).384929.7814,50( 处就被抓到了,14 而按照方案二逃跑则是在点 ).868841.1054,51( 处被抓 所以按照方案一不可能到达 p 点,按方案二可以到达 p 点模型四走私船速度与时间的关系 30)(ta 海里 /小时缉私船以速度 b 匀速追击 36*5.1 db 海里 /小时模型建立建立判断模型:此模型用于确定走私船在何时改变方向2222y)-(cx)-t*(ay)-(c*by)-(cx)-t*(ax)-t*(a*bdtdydtdx利用数学软件 matlab 求得数值解知道(见附件四( 1) ) ,若是走私船一直沿着正东方向逃跑,缉私船需要 4.1 小时才可追上走私船因此我们在建立航线模型时假设走私船在 2t 小时时改变航向建立航线模型15 16 缉私船在 yx , 方向的速度分别为)sin(*),cos(* bdtdysbdtdx2y)-c)sin(*t1)-(t*(ax)-)cos(*t1)-(t*at1*(ay)-c)sin(*t1)-(t*(a*by)-csin(w)*t1)-(t*(ax)-)cos(*t1)-(t*at1*(ax)-)cos(*t1)-(t*at1*(a*b20y)-(cx)-t*(ay)-(c*by)-(cx)-t*(ax)-t*(a*b22222222tdtdydtdxtdtdydtdx从数值解中, 可以得知在该种情况下, 缉私船在发现走私船开始追击走私船需要 3.9小时才可以追上走私船。
参考文献[1] 陈笑缘、张国勇 .数学建模 .杭州:中国财政经济出版社, 2011.1 附件第一题function dx=js(t,x) d=20;b=1.5*d;c=2*d; k=-5*cos(t/5)+20*t+5; s=sqrt((k-x(1))^2+(c-x(2))^2); dx=[b*(k-x(1))/s;b*(c-x(2))/s]; >> ts=0:0.05:2.8; >> x0=[0,0]; 17 >> options=odeset('reltol',1e-6,'abstol',1e-9); >> [t,x]=ode45(@js,ts,x0,options); >> d=20;b=1.5*d;c=2*d; >> plot(t,x(:,1),'--',t,x(:,2),'-'),grid >> ts=0:0.05:2.8; >> x0=[0,0]; >> options=odeset('reltol',1e-6,'abstol',1e-9); >> [t,x]=ode45(@js,ts,x0,options); >> d=20;b=1.5*d;c=2*d; >> zx=-5*cos(t/5)+20*t+5; >> zy=c*ones(length(t),1); plot(t,x(:,1),'--',t,x(:,2),'-'),grid pause,plot(zx,zy,x(:,1),x(:,2)),grid 0 0 0 40.0000 0 0.0500 0.7500 0.0299 41.2990 2.3998 0.1000 1.5000 0.1194 42.5981 4.7980 0.1500 2.2500 0.2678 43.8971 7.1934 0.2000 3.0000 0.4745 45.1962 9.5844 0.2500 3.7500 0.7385 46.4952 11。