1、慢跑者与狗慢跑者与狗 一个慢跑者在平面上沿椭圆以恒定的速率一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步跑步,设椭设椭圆方程为圆方程为:x=10+20cost,y=20+5sint.突然有一只狗攻击他突然有一只狗攻击他.这只这只狗从原点出发狗从原点出发,以恒定速率以恒定速率w跑向慢跑者跑向慢跑者,狗的运动方向始终指向慢跑狗的运动方向始终指向慢跑者者.分别求出分别求出w=20,w=5时狗的运动轨迹时狗的运动轨迹.1.模型建立设时刻t慢跑者的坐标为(X(t),Y(t),狗的坐标为(x(t),y(t).则X=10+20cost,Y=20+15sint,狗从(0,0)出发,与导弹追踪问题类似,建立狗的
2、运动轨迹的参数方程:0)0(,0)0()sin1520()sin1520()cos2010()cos2010()sin1520()cos2010(2222yxytytxtwdtdyxtytxtwdtdx2.模型求解(1)w=20时时,建立m-文件eq3.m如下:function dy=eq3(t,y)dy=zeros(2,1);dy(1)=20*(10+20*cos(t)-y(1)/sqrt (10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);dy(2)=20*(20+15*sin(t)-y(2)/sqrt (10+20*cos(t)-y(1)2+(20+15*s
3、in(t)-y(2)2);取t0=0,tf=10,建立主程序chase3.m如下:t0=0;tf=10;t,y=ode45(eq3,t0 tf,0 0);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,-)hold on plot(y(:,1),y(:,2),*)在chase3.m,不断修改tf的值,分别取tf=5,2.5,3.5,至3.15时,狗刚好追上慢跑者.To Matlab(chase3)建立m-文件eq4.m如下:function dy=eq4(t,y)dy=zeros(2,1);dy(1)=5*(10+20*cos(t)-y(
4、1)/sqrt (10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);dy(2)=5*(20+15*sin(t)-y(2)/sqrt (10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);取t0=0,tf=10,建立主程序chase4.m如下:t0=0;tf=10;t,y=ode45(eq4,t0 tf,0 0);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,-)hold on plot(y(:,1),y(:,2),*)在chase3.m,不断修改tf的值,分别取tf=20,40,80,可以看出,狗永远追不上慢跑者.To Matlab(chase4)(2)w=5时时返 回