11.2缉私艇追击走私船1实验目的(1)学会用MATLAB软件求解微分方程的初值问题;(2)了解微分方程数值解的思想,掌握微分方程数值解的方法;(3)学会根据实际问题建立简单微分方程数学模型,提高解决问题能力;(4)了解简单的计算机仿真和数据模拟的基本方法.2实验问题海上边防缉私艇发现距c公里处有一走私船正以匀速a沿直线行驶,缉私艇立即以最大速度b追赶,在雷达的引导下,缉私艇的方向始终指向走私船。问缉私艇何时追赶上走私船?并求出缉私艇追赶的路线。xyco3建立模型xcoy走私船初始位置在点(0,0),行驶方向为y轴正方向,缉私艇的初始位置在点(c,0),缉私艇行驶的路程为s。在时刻t:缉私艇到达点),0(atR),(yxD走私船的位置到达点0xatytgdxdybdtdsdxdtadxydx22211dxdybdxdsdsdtdxdt0)(,0)(1222cycydxdyrdxydxbar/4模型求解0)(,0)(1222cycydxdyrdxydxbar/(1)求解析解令:pdxdy,dxdpdxyd22,0)(12cpxdxrpdprcxpp21rxcpp210)(21cyxccxdxdyrr0)(21cyxccxdxdyrr1bar1),211111112rcrcxrcxrcyrr当x=0时,21rcry,)()1(222abbcracrayt00.511.522.533.500.511.522.533.54c=3千米,a=0.4千米/分,分别取b=0.6,0.8,1.2千米/分时,缉私艇追赶路线的图形。追赶时间分别为:t=9,5,2.8125(分钟)2)1bar0)(21cyxccxdxdyrr111112211rcrxcrcxrcyrr当0x时,y,缉私艇不可能追赶上走私船。3)1r,,cxcccxyln22122当0x时,y,缉私艇不可能追赶上走私船。MATLAB软件仿真法当建立动态系统的微分方程模型很困难时,我们可以用计算机仿真法对系统进行分析研究。所谓计算机仿真就是利用计算机对实际动态系统的结构和行为进行编程、模拟和计算,以此来预测系统的行为效果。),0(1katMATLAB软件仿真法xcoy走私船初始位在点(0,0),方向为y轴正方向,缉私艇的初始位在点(c,0),追赶方向可用方向余弦表示为:22)()0(0coskkkkkyatxx22)()0(sinkkkkkkyatxyat,1时ttttkk,cos1kkkktbxxxkkkktbyyysin1走私船的位置:),0(kat:ktt缉私艇的位置:),(kkyx),0(katok),(kkyx缉私艇的位置:).,(11kkyx).,(11kkyx则时间步长仿真算法:第二步:计算动点缉私艇D在时刻tttkk1时的坐标221)(kkkkkkyatxxtbxx221)(kkkkkkyatxyattbyy计算走私船R在时刻tttkk1时的坐标)~,~(11kkyx0~1kx)(~1ttaykk第一步:设置时间步长,速度a,b及初始位置t0,0,0kycx第三步:计算缉私艇与走私船这两个动点之间的距离:211211)~()~(kkkkkyyxxd根据事先给定的距离,判断缉私艇是否已经追上了走私船,从而判断退出循环还是让时间产生一个步长,返回到第二步继续进入下一次循环;第四步:当从上述循环退出后,由点列),(11kkyx和)~,~(11kkyx可分别绘制成两条曲线即为缉私艇和走私船走过的轨迹曲线。取c=3千米,a=0.4千米/分钟,b=0.8千米/分钟,5.0/barc=3;a=0.4/60;b=0.8/60;d=0.01;dt=2;t=0;jstx=c;jsty=0;zscx=0;zscy=0;holdonaxis([0,3,0,2])while(sqrt((jstx-zscx)^2+(jsty-zscy)^2)d)t=t+dt;jstx=jstx-b*dt*jstx/sqrt(jstx^2+(a*t-jsty)^2);jsty=jsty+b*dt*(a*t-jsty)/sqrt(jstx^2+(a*t-jsty)^2);zscy=a*t;plot(jstx,jsty,'ro',zscx,zscy,'b*')pause(0.2)endjstx,jsty,zscx,zscy,t程序zhuixiantu.m历时:296秒,艇:(0.000041,1.97)船:(0,1.97)