数学建模论文猎狗追兔子问题.doc

上传人:文库蛋蛋多 文档编号:2425828 上传时间:2023-02-18 格式:DOC 页数:21 大小:494KB
返回 下载 相关 举报
数学建模论文猎狗追兔子问题.doc_第1页
第1页 / 共21页
数学建模论文猎狗追兔子问题.doc_第2页
第2页 / 共21页
数学建模论文猎狗追兔子问题.doc_第3页
第3页 / 共21页
数学建模论文猎狗追兔子问题.doc_第4页
第4页 / 共21页
数学建模论文猎狗追兔子问题.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数学建模论文猎狗追兔子问题.doc》由会员分享,可在线阅读,更多相关《数学建模论文猎狗追兔子问题.doc(21页珍藏版)》请在三一办公上搜索。

1、数学建模论文论文题目:猎狗追兔子问题姓名1:舒忠明 学号:1025114016 手机:18059230476姓名2:王福松 学号:1025114032 手机:18750929592姓名3:吴非凡 学号:0715112015 手机:180609131632010计算机1班2012-10-5猎狗追兔子问题摘要本文讨论了分别用微分模型,计算机仿真模型求解猎狗追兔子的问题,猎狗追兔的问题属于实际的情景问题,具有一定的时代气息。 微分模型计算得到猎狗能追上兔子的最小速度是17.0803米/秒,在这种情况下,猎狗跑过的路程是256.2045米。计算机仿真模型形象的演示了猎狗追击兔子的状态和路线。技术科学中

2、往往遇到大量的微分方程就是联系着自变量,未知函数以及他的导数的关系式。在自然科学和微分方程问题。通过对高级微分方程的分析,我们对题目里提出的问题建立了符合实际的数学模型。在模型的求解过程中应用数学软件等计算工具,编写相应的程序,解决实际问题。关键词:数学建模 猎狗 兔子 追击 计算机仿真 Matlab目录一、问题重述与分析31.1问题描述31.2问题分析3二、模型假设4三、符号说明4四、微分模型建立4五、微分模型求解65.1方程求解65.2最小速度65.3猎狗跑过的路程75.4奔跑曲线75.5 Matlab编程求解8六、计算机仿真136.1计算机仿真模型的建立136.2仿真程序156.3显示追

3、击路线的程序17七、模型的评价197.1、优点197.2、缺点207.3、改进方向20八、参考文献20一、问题重述与分析:1.1问题描述:某有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用微积分方程理论解、微积分方程数值解、计算机仿真法等多种方法完成下面的实验: (1) 问猎狗能追上兔子的最小速度是多少? (2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。 (4) 假设在追赶过程中,当猎狗与兔子之间的距离

4、为30米时,兔子由于害怕,奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加0.1倍,在这种情况下,再按前面的(1)(3)完成实验任务。1.2问题分析:1、本题目是在限定条件下求极值的问题,可以通过建立有约束条件的微分方程加以模拟。2、通过运用欧拉公式及改进欧拉公式的原理,结合高等数学的有关知识,对微分方程进行求解。3、将数学求解用Matlab程序语言进行实现,得出方程的近似解。4、最后解方程的解结合实际问题转化为具体问题的实际结果。二、模型假设1、设在兔子和猎狗的运动过程中,两者的速度保持恒定,且不受其他因素的影响。2、假设在较短的时间内猎狗运动的轨迹为直线。3、当猎狗与兔子之间的距离相

5、当小时,认为猎狗已经追上了兔子。三、符号说明s:猎狗跑够的路程t: 经历的时间v: 猎狗的速度a:兔子的速度四、微分模型建立:以BO所在的直线为x轴,以OA所在的直线为y轴建立如图所示的直角坐标系,则O点坐标(0,0),B点坐标(-200,0),A点坐标(0,120)。NWOAB从猎狗发现兔子时起,在t时刻,兔子到达C(0,8t)点,猎狗到达(x,y)点,由题意可知: 对两边关于x求导可得: 于是: y(-200)=0,dy(-200)=0 则该问题的模型建立五、微分模型求解5.1方程求解:令:,原方程可以化为: y=(v*x*(-x/200)(8/v)/(2*v + 16) - (1600*

6、v)/(v2 - 64) - (v*x*(-200/x)(8/v)/(2*v - 16)5.2最小速度:令x=0, 此时猎狗追上兔子,则兔子走过的距离为 y=1600*v/(-64+v2)则追赶的时间为: t=y/8=200*v/(-64+v2)由于兔子跑回窝的时间是一个定植,所以当猎狗以最小速度追赶上兔子时,所经历的时间恰好为兔子跑回窝所需要的时间,即: 200*v/(-64+v2)=15可以解得:v= 17.0803即猎狗的最小速度为17.0803米/秒5.3猎狗跑过的路程:当猎狗的速度为17.0803米/秒时,猎狗可以追上兔子,则:猎狗跑过的路程:y=17.0803*15米= 256.2

7、045米5.4奔跑曲线: 用matlab绘制曲线,代码如下:v=17.0803;x1=;y1=;x2=;y2=;d=20.5/2;for x=-200:0 x1=x1,x; y1=y1,100*(-1/200*x)(8/v+1)/(8/v+1)-100*(-1/200*x)(-8/v+1)/(-8/v+1)+1600*v/(-64+v2); x2=x2,0; y2=y2,120/200*(200+x);endhold onaxis(-150 100 -150 100)xd=d.*x1-d.*y1;yd=d.*x1+d.*y1;xt=d.*x2-d.*y2;yt=d.*x2+d.*y2; plo

8、t(xd,yd,*)plot(xt,yt,*)5.5 Matlab编程求解: 猎狗能追上兔子的最小速度a=8;dogxa=;cabbitxa=;dogya=;cabbitya=;d=1;dogx=-100*sqrt(2);dogy=-100*sqrt(2);cabbitx=0;cabbity=0;t=0;dt=0.01;for b=10:0.5:40 dogx=-100*sqrt(2);dogy=-100*sqrt(2);cabbitx=0;cabbity=0;t=0; while(sqrt(dogx-cabbitx)2+(dogy-cabbity)2)d&cabbity200) t=t+dt

9、; dogx=dogx+b*dt*(cabbitx-dogx)/sqrt(dogx-cabbitx)2+(dogy-cabbity)2); dogy=dogy+b*dt*(cabbity-dogy)/sqrt(dogx-cabbitx)2+(dogy-cabbity)2); cabbitx=-a*cos(pi/4)*t; cabbity=a*sin(pi/4)*t; end if cabbityd) t=t+dt; dogx0=dogx; dogy0=dogy; dogx=dogx+b*dt*(cabbitx-dogx)/sqrt(cabbitx-dogx)2+(cabbity-dogy)2)

10、; dogxb=dogxb,dogx; dogy=dogy+b*dt*(cabbity-dogy)/sqrt(cabbitx-dogx)2+(cabbity-dogy)2); dogyb=dogyb,dogy; cabbitx=-a*cos(pi/4)*t; cabbity=a*sin(pi/4)*t; cabbitxb=cabbitxb,cabbitx; cabbityb=cabbityb,cabbity; s=s+sqrt(dogx0-dogx)2+(dogy0-dogy)2);endfprintf(the length dog run is:%.1f,s); 猎狗追赶兔子奔跑的曲线图:p

11、lot(dogxb,dogyb,cabbitxb,cabbityb,*) 猎狗与兔子距离30米时:第一问:a=8;dogxa=;cabbitxa=;dogya=;cabbitya=;d=1;dogx=-100*sqrt(2);dogy=-100*sqrt(2);cabbitx=0;cabbity=0;t=0;dt=0.01;for b=8:0.5:40 dogx=-100*sqrt(2);dogy=-100*sqrt(2);cabbitx=0;cabbity=0; t=0; c=b; a=8;while(sqrt(dogx-cabbitx)2+(dogy-cabbity)2)d&cabbity

12、60*sqrt(2) if(sqrt(dogx-cabbitx)2+(dogy-cabbity)2)=30) b=b*1.1dt; a=a*0.5dt; end t=t+dt; dogx=dogx+b*dt*(cabbitx-dogx)/sqrt(dogx-cabbitx)2+(dogy-cabbity)2); dogy=dogy+b*dt*(cabbity-dogy)/sqrt(dogx-cabbitx)2+(dogy-cabbity)2); cabbitx=cabbitx-a*dt*cos(pi/4); cabbity=cabbity+a*sin(pi/4)*dt; end if (cab

13、bityd) t=t+dt; if(sqrt(dogx-cabbitx)2+(dogy-cabbity)2)d & td & td & td & t=15) plot(dogx,dogy,rO,rabbitx,rabbity,y*) pause(0.00001) hold on t=t+dt; dogx=dogx-v*dt*dogx/sqrt(dogx2+(a*t-dogy)2); dogy=dogy+v*dt*(a*t-dogy)/sqrt(dogx2+(a*t-dogy)2); rabbity=a*t; plot(dogx,dogy,rO,rabbitx,rabbity,y*)end七、模

14、型的评价:7.1、优点:可以熟练的运用Matlab解决一些问题,对用Matlab编程有了更加深刻的了解。懂得了使用数学软件求解极限,积分等问题的方法。对于追击问题的数学模型有了一定的了解,并能简单的运用。对遇到的一些编程问题有了切身的解决办法,提高了自己的编程能力。7.2、缺点:许多数学公式的符号十分难输入,致使数学理论表述十分困难。需要输入的数据太多,容易出现输入错误,特别是容易遗漏标点符号。7.3、改进方向: 应考虑向简单模型优化,现有的模型还是很复杂,尤其是一些数学的计算要能非常熟练的运用微积分知识。所以应考虑更加简便易懂的模型。八、参考文献1 、周义仓.数学建模实验。西安交通大学出版社,2007年,第二版2 、胡运权.运筹学教程。清华大学出版社,2004年,第三版3 、Frank R.Giordano.数学建模,机械工业出版社,2009年4 、丁以中.SPRAD SHEET 在数学建模中的应用.清华大学出版社 ,2002年

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号