数学建模实验题目解答

  • 格式:doc
  • 大小:131.50 KB
  • 文档页数:5

数学建模实验题目解答

题目一:慢跑者与狗

一个慢跑者在平面上沿椭圆以恒定的常速v=1跑步,设椭圆方程为:

x=10+20cost, y=20+5sint. 突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w跑向慢跑者.狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹,并分析狗是攻击到慢跑者.

一,建立模型.

设时刻t慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)),

又X=10+20cost, Y=20+15sint.

由于狗的运动方向始终指向慢跑者,

故此时狗与人的坐标连线就是此时狗的轨迹曲线弧处的切线,

即dy/dx=(Y-y)/(X-x), y’=(dy/dt)/(dx/dt) 又运动时间相同:

,解得可得参数方程为:

二,求解模型

w=20时,建立m-文件xy1.m如下:

function dy=xy1 (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);  

  

 

   

       

     

0 ) 0 ( , 0 ) 0 ( ) sin 15 20 (

) sin 15 20 ( ) cos 20 10 ( ) cos 20 10 (

) sin 15 20 ( ) cos 20 10 (

2 2 2 2

y x y t

y t x t w

dt dy x t

y t x t w

dt dx 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=6.0,建立主程序fangcheng1.m如下:

t0=0;tf=6.0;

[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),'*')

轨迹线如下图:

发现狗没有攻击到慢跑者,

于是,从4.0开始,不断的更改tf的值,发现当tf=3.15时, 刚好追上慢跑者.其轨迹线如下图所示:

W=5时, 建立m-文件xy2.m如下:

function dy=xy2(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=30立主程序fangcheng2.m如下: t0=0;tf=30

[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),'*')

轨迹线如下图:

发现狗没有攻击到慢跑者,

当tf=50, 轨迹线如下图:

在fangcheng2.m不断修改tf的值,分别取tf=60.70…1000….

可以看出,狗永远追不上慢跑者.