猎狗追击兔子问题

猎狗追击兔子问题

ID:5648186

大小:512.50 KB

页数:8页

时间:2017-11-13

猎狗追击兔子问题_第1页
猎狗追击兔子问题_第2页
猎狗追击兔子问题_第3页
猎狗追击兔子问题_第4页
猎狗追击兔子问题_第5页
资源描述:

《猎狗追击兔子问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、猎狗追兔子问题开始跑!题目:狗追兔子问题yxhy=f(x)B(0,60)A(100,0)O现有一只兔子,一只猎狗,兔子位于猎狗的正西100米处。假设兔子与猎狗同时发现对方并一起起跑,兔子往正北60米处的巢穴跑,而猎狗在追兔子,已知兔子、猎狗是匀速跑且猎狗的速度是兔子的两倍。问题是兔子能否安全逃回到巢穴?问题分析:由题意得,这是一道数学追击问题。模型:假设兔子沿直线逃回巢穴,而猎狗始终追击方向始终朝向兔子。即猎狗追击路线为一条曲线。yxy=f(x)B(0,60)巢穴A(100,0)O兔子起始位置兔子逃跑路线猎狗追击路线猎狗起始位置yxy=f(x)B(0,60)巢穴A(100,0)O兔子

2、起始位置(0,y1)E(X1,Y1)CD(X2,Y2)(0,y2)FAt1At2如图所示,f(x)上每一点的切线为此时刻兔子与猎狗位置的连线。这样就可以得到f(x)上每一点的斜率,即:f’(xt)=tanAt;又由题可知:y0=f(x0)=100;y0=f(x0)=100dy/dx=tanAt这样就可以求得一条与f(x)近似的折线(就是常微分方程中学得欧拉折线),当时间步长△t取得足够小时,可以认为这条折线就是f(x).yxy=f(x)B(0,60)巢穴A(100,0)O兔子起始位置At(Xt,Yt)(0,yt)猎狗追击路线:y=f(x),速度:2v,t时刻位置为(Xt,Yt);兔子

3、逃跑路线:x=0,速度:v,t时刻位置为(0,yt);由模型得:猎狗t时刻追击方向与水平方向的夹角At满足:tanAt=(Yt-yt)/(Xt-0);cosAt=-Xt/sqrt(Xt2+(Yt-yt)2);sinAt=(yt-Yt)/Xt/sqrt(Xt2+(Yt-yt)2)设时间步长为△t,则在t+△t时,狗的位置,可表示为:Xt+1=Xt-(2*v*△t)*cosAt;Yt+1=Yt+(2*v*△t)*sinAt;yt=yt+v*△t;y0=0;Y0=0;X0=100;显然,当猎狗追上兔子时Xt=0;此时在比较Yt与B点的纵坐标大小,若Yt大于60则追不上,若Yt小于或等于60

4、则能追上。#include#includevoidmain(){doubleY[10000],X[10000],y[10000],T=0.01,v=10,sinA,cosA;//T为时间步长取:0.01y[0]=0;Y[0]=0;X[0]=100;//X[i],y[i],Y[i]表示i时刻的坐标点for(inti=0;;i++){sinA=(y[i]-Y[i])/sqrt(X[i]*X[i]+(y[i]-Y[i])*(y[i]-Y[i]));cosA=X[i]/sqrt(X[i]*X[i]+(y[i]-Y[i])*(y[i]-Y[i]));X[i+1

5、]=X[i]-2*v*T*cosA;Y[i+1]=Y[i]+2*v*T*sinA;y[i+1]=y[i]+v*T;if(X[i+1]<=0)//X[i]第一次小于或等于0时追到兔子,根据此时Y[i]是否大于60判断猎狗能否在兔子到达巢穴之前追到它{if(Y[i+1]<=60)printf(“猎狗在%f米时能够追上兔子!",Y[i+1]);elseprintf(“猎狗在兔子回巢穴前不能追上兔子!");break;}}}运行结果大概为在66.699946米时,猎狗能追上兔子。(取兔子实际速度约为10m/s)functionsequient(m,n)Y=zeros(m,n);y=zer

6、os(m,n);X=zeros(m,n);x=zeros(m,n);v=10;A=1;B=0;T=0.01;Y(m,1)=0;y(m,1)=0;X(m,1)=100;fori=1:(n-1)A=X(m,i)./sqrt(X(m,i).^2+(Y(m,i)-y(m,i)).^2);B=(y(m,i)-Y(m,i))./sqrt(X(m,i).^2+(Y(m,i)-y(m,i)).^2);X(m,i+1)=X(m,i)-2*v*T*A;Y(m,i+1)=Y(m,i)+2*v*T*B;y(m,i+1)=y(m,i)+v*T;if(X(m,i+1)

7、reak;endendplot(X,Y,'r')holdonplot(x,y,'b');holdofflegend('ÁÔ¹·×·»÷·Ïß','ÍÃ×ÓÌÓÅÜ·Ïß');k=find(X<0);text(X(k),Y(k),'O','Color','magenta');text(X(k),Y(k),'ÁÔ¹·×·µ½ÍÃ×ӵĵã');Yt=Y(k)gridon;boxon;axisequal结果是:兔子回巢,猎狗扫兴而归。。。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。