问题的提出
一个人在平面上沿椭圆以恒定的速率v=1慢跑步,设椭圆方程为:
x=10+20cos(t),y=20+5sin(t)
突然有一条狗攻击他,这条狗从原点出发,以恒定速率w跑向这个人,狗的运动方向始终指向这个人。分别求出w=20,w=5时的狗的运动轨迹。问狗是否能够追咬到此人。
问题的求解 1. 模型建立
设时刻t慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)).
则X=10+20cost, Y=20+15sint, 狗从(0,0)出发,由于狗头始终对准慢跑者,依据狗的轨迹曲线的切线,建立狗的运动轨迹的参数方程:
w⎧dx
(10+20cost−x)⎪dt=22 (10+20cost−x)+(20+15sint−y)⎪⎪dy w⎨=(20+15sint−y) 22⎪dt(10+20cost−x)+(20+15sint−y)
⎪
⎪⎩x(0)=0, y(0)=0
2. 模型求解
(1) w=20时,建立m-文件fun1.m如下: function dy=fun1(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*sin(t)-y(2))^2);
取t0=0,tf=10,建立主程序zhui1.m如下: t0=0;tf=10;
[t,y]=ode45('fun1',[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),'*')
在zhui1.m,不断修改tf的值,分别取tf=5, 2.5, 3.5,…,至3.15时, 狗刚好追上慢跑者.
35302520151050-15-10-505101520253035 (2) w=5时
建立m-文件fun2.m如下:
function dy=fun2(t,y) dy=zeros(2,1);
dy(1)=5*(10+20*cos(t)-y(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,建立主程序zhui2.m如下: t0=0;tf=10;
[t,y]=ode45('fun2',[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),'*')
在zhui2.m,不断修改tf的值,分别取tf=20, 40, 80,…,。可以看出,狗永远追不上慢跑者.
35302520151050-15-10-505101520253035
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务