MATLAB实验报告(猎狗追兔子的问题)
matlab
数学实验报告实验一:有一只猎狗在B 点位置发现了一只兔子在正东北方距离它200米的地方O 处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A 全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验:(1) 问猎狗能追上兔子的最小速度是多少?(2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。
分析:(1)建立新的坐标,将西北方向转变为新的Y 轴的正向,西南方向作为X 轴的负方向。
则猎狗的初始坐标为(-200,0),兔子初始坐标为(0,0),兔子的速度为a=8m/s ,则在时刻t ,兔子的坐标为(0,at ),猎狗的坐标为(x,y ),则有dx dta dxy d x -=22。
解得y=2c [r +11r c x +1)(_r -11r c x -1)(]+21r cr -,当x=0时,y=21r cr -,所以t=a y =22cb bc-,而算得时间t=15s ,故求得猎狗的速度的最大值b=16.85(m/s )程序设计:c=-200;a=8;b=16.85;d=0.01;dt=2;t=0;gx=-100*sqrt(2);gy=-100*sqrt(2);tx=0;ty=0; while (sqrt((gx-tx)^2+(gy-ty)^2)>d) pause(0.000001) hold onaxis([-100*sqrt(2) 0 -100*sqrt(2) 60*sqrt(2)]); t=t+dt;gx=gx-b*dt*(a*t/sqrt(2)+gx)/sqrt((a*t/sqrt(2)+gx)^2+(a*t/sqrt(2)-gy)^2); gy=gy+b*dt*(a*t/sqrt(2)-gy)/sqrt((a*t/sqrt(2)+gx)^2+(a*t/sqrt(2)-gy)^2); tx=-a*t/sqrt(2); ty=a*t/sqrt(2);plot(gx,gy,'r.',tx,ty,'b*') end问题求解结果与结论:所以猎狗能追上兔子。
MATLAB实验报告(猎狗追兔子的问题)
MATLAB实验报告电气14班张程21104011202012年4月12日星期四一.实验目的1.学会用MATLAB软件求解微分方程的初值问题。
2.学会根据实际问题建立简单微分方程数学模型。
3.了解级计算机数据仿真、数据模拟的基本方法。
二.实验题目有一只猎狗在B处发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米每秒的速度向正西北方向距离为120米的洞口A全速跑去,假设猎狗在追赶兔子时始终朝着兔子的方向全速奔跑。
(1)问猎狗能追上兔子的最小速度是多少?(2)选取猎狗的速度分别为15、18米每秒,计算猎狗追上兔子是所跑过的路程和所用的时间。
(3)画出猎狗追赶兔子奔跑的曲线图。
三.实验过程(1)将所有路径转化入第一象限,从而转化为教材中缉私艇和走私船的问题。
兔子起始位置为(0,0),奔跑方向为Y轴正方向,猎狗起始位置为(200,0)。
兔子刚好被追上时跑的距离Y=CR/1-R²。
(R为兔子与猎狗速度之比)时间T=CR/A(1-R²)=BC/(B²-A²)。
当兔子进洞的时候刚好被追到,这种情况下猎狗所需速度最小。
将C=200,Y=120带入方程并利用MATLAB求解:所以最小速度为17.08m/s。
(2)程序如下:运行结果:t =18.2000 s =273.0000将程序中b改为18运行结果为:t =13.6000 s =244.8000 兔子跑过距离分别为145.6000、108.8000,所以第一次兔子已经进洞,猎狗追不上。
(3)下图分别为猎狗速度为18m/s、15m/s时的模拟图。
四.反思总结1.实际问题的解决可以通过matlab等工具进行很好地计算和模拟,关键在于找到适当的方法。
2.实验过程中总会有这样或者那样的错误,在不断的更正中发现对程序的了解更深了一步。
3.同一个问题可以有多个解答方法,只要擅于分析和发现,在不断的总结中就可以有所收获。
猎狗追兔练习题及解题思路
1、猎狗前面26步远有一只野兔,猎狗追之. 兔跑8步的时间狗跑5步,兔跑9步的距离等于狗跑4步的距离.问:兔跑多少步后被猎狗抓获?此时猎狗跑了多少步?【解析】“猎狗前面26步”,显然指的是猎狗的26步,兔跑8步的时间狗跑5步,兔跑9步的距离等于狗跑4步的距离,可以统一为兔子跑72步的时间狗跑45步,兔子跑72步的距离狗跑32步距离,所以在兔子跑72步的时间里,狗比兔子多跑了45-32=13(步)的路程,这个13步是猎狗的13步,因此,要追上距离26(狗)步的距离,兔子跑了72×(26÷13)=144(步),此时猎狗跑了5×(144÷8)=90(步)【答案】兔子144步,猎狗90步。
2、猎人带猎狗去捕猎,发现兔子刚跑出40米,猎狗去追兔子。
已知猎狗跑2步的时间兔子跑3步,猎狗跑4步的距离与兔子跑7步的距离相等,求兔子再跑多远,猎狗可以追上它?【解析】设狗跑2步的时间为1(分钟),兔跑3步的时间也为1(分钟);再设狗的步长为7(米),则兔的步长为4(米),推出狗的速度是2×7=14,兔的速度是3×4=12。
用40÷(14-12)=20,20为追击时间。
再用兔的速度乘上追击时间可得兔跑的路程,即12×20=240(米)【答案】240米3、一只猎狗发现在离它18米远的前方有一只狐狸在跑,马上紧追上去,猎狗跑2步的路程狐狸需跑3步,若猎狗跑5步的时间,狐狸可跑7步,猎狗跑多少米能追上狐狸?【解析】设猎狗一步距离为A,狐狸一步则为(2/3)A 设单位时间X作为参数,在X时间内猎狗可以跑一步,则狐狸可以跑7/5步即在相同的X时间内,猎狗跑A,狐狸可跑(2/3)*(7/5)A=(14/15)A 时间相同,猎狗和狐狸的速度即为路程比,15:14 猎狗每跑15米,狐狸跑14米,可追上狐狸1米,所以猎狗要跑15*18=270米因为不知道到这是小学竞赛题还是中学题,所以用小学的方式解的,中学物理题的话,用公式V=S/T表示上面的东西就可以了,最后的速度V用参数表示出来4、一条猎狗追30米外的一只狐狸,狗跳跃一次为2米,狐狸跳跃一次为1米,而狐狸跳3次的时间,猎狗只能跳两次,猎狗跑多少米才能追上狐狸?【解析】分析:狐狸跳3次的时间,猎狗只能跳两次,也就是狐狸前进1×3=3米,猎狗可以前进2×2=4米,由于4-3=1,所以猎狗每跑4米就追上狐狸1米,于是猎狗追上狐狸的需要跑4×30=120(米).5、一只野兔逃出85步后猎狗才追它,野兔跑8步的路程猎狗才需要跑3步,猎狗跑4步的时间野兔能跑9步,问猎狗需要跑多少步才能追上野兔?【解析】猎狗每跑12步这段时间内野兔跑27步而猎狗每跑12步的路程需要野兔跑32步所以猎狗每跑12步就可以比野兔多跑5步85÷5×12=204答:猎狗至少要跑204步才能追上野兔6、猎狗追赶前方30米处的野兔。
Matlab计算仿真
记 ar(k) 表示第k个顾客的达到时间 随机生成 ,
wa(k) 表示第k个顾客的等待时间, be(k) 表示第k个顾客的理发开始时间,
se(k) 表示第k个顾客的理发时长 随机生成 ,
之前捉到野兔?
实验目的 学会采用时间步长发进行计算机仿真实验.
时间步长法: 野兔逃一步,猎狗追一步. 当猎狗和野兔距离足够小时, 就认为猎狗已捉到野兔.
假设 t 时刻兔子位置xr (t ), yr (t), 猎狗位置xd (t), yd (t)
1 猎狗的追踪朝向
tan yr yd
xr xd 那么,
2.28 200
y
,
v(
y)
2.28,
0 y 200 200 y 960
2.28 200
(1160
y),
960
y
1160
1160m
1000m 长江水流方向
起点: 武昌汉阳门
游泳者调整泳姿方向始终对着终点.
终点
给出游泳者的仿真轨迹.
u
v
2. 四只乌龟位于长度为1m的正方形四角, 同时向 逆时针方向邻近的乌龟追去. 假设四只乌龟的 速度相同, 在本移动过程中每只乌龟都正对着 被追的乌龟, 确定4只乌龟的追踪轨迹.
se(k) 表示第k个顾客的理发时长 随机生成 ,
en(k) 表示第k个顾客的理发结束时间. 关键弄清楚be(k), en(k), wa(k)之间的关系与计算!
对于第一位顾客: be(1) ar(1),en(1) be(1) se(1), wa(1) be(1) ar(1).
数学实验(猎狗追兔子问题)
Matlab上机实验报告一.题目如图所示,有一只猎狗在B点位置发现了已知兔子在正东北方向距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方向距离为120米的洞口全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑按要去完成以下的实验:(1)问猎狗能追上兔子的最小速度是多少?(2)选取猎狗的速度分别为15、18米/秒,计算猎狗追上兔子时跑过的路程和时间。
(3)画出猎狗追赶兔子奔跑的曲线图。
二.问题分析(1)本题目是在限定条件下求极值的问题,可以通过建立有约束条件的微分方程加以模拟。
(2)通过运用欧拉公式及改进欧拉公式的原理,结合高等数学的有关知识,对微分方程进行求解。
(3)将数学求解用Matlab程序语言进行实现,得出方程的近似解。
(4)最后解方程的解结合实际问题转化为具体问题的实际结果。
三.假设约定(1)假设在兔子和猎狗的运动过程中,两者的速度保持恒定,且不受其他因素的影响。
(2)假设在较短的时间内猎狗运动的轨迹为直线。
(3)当猎狗与兔子之间的距离相当小时,认为猎狗已经追上了兔子。
四.模型建立以BO所在的直线为x轴,以OA所在的直线为y轴建立如图所示的直角坐标系,则O点坐标(0,0),B点坐标(-200,0),A点坐标(0,120),设猎狗跑够的路程为s,经历的时间为t。
从猎狗发现兔子时起,在t时刻,兔子到达C(0,8t)点,猎狗到达(x,y)点,设猎狗的速度为v,由题意可知:dy/dx=(y-8t)/ads/dt=b对两边关于x求导可得:x*d2y=-a(dt/dx)dt/dx=-1/b*(1+(dy/dx)^2)^0.5于是:x*d2=8/v*(1+(dy/dx)^2)^0.5y(-200)=0,dy(-200)=0则该问题的模型建立五.模型求解1.方程求解令p=dy/dx,则d2y=dp/dx,所以方程可以化为:dp/(1+p^2)^0.5=8/v*dx/x⇨p+(1+p^2)^0.5=(x/-200)^(8/v)⇨p+(1+p^2)^0.5=-(-200/x)^(8/v)所以:dy/dx=0.5*((x/-200)^(8/v)- (-200/x)^(8/v))由高等数学的知识可以解得:y=-100*(-1/200*x)^(8/v+1)/(8/v+1)-100*(-1/200*x)^(-8/v+1)/(-8/v+1)+1600*v/(-64+v^2)2.最小速度令x=0,此时猎狗追上兔子,则兔子走过的距离为y=1600*v/(-64+v^2)则追赶的时间为:t=y/8=200*v/(-64+v^2)由于兔子跑回窝的时间是一个定植,所以当猎狗以最小速度追赶上兔子时,所经历的时间恰好为兔子跑回窝所需要的时间,即:200*v/(-64+v^2)=15可以解得:v=17.0803即猎狗的最小速度为17.0803米/秒3.变换速度1.当猎狗的速度为15米/秒时,由以上的分析可以知道猎狗不能追上兔子。
微分方程应用猎狗在
微分方程应用
Hale Waihona Puke —— 猎狗追兔问题问题描述:
在旷野上有一只野兔和一条猎狗, 猎狗发现野兔并开始追踪,同时野 兔也发现猎狗,开始跑向兔穴。
假定猎狗的追踪方向始终对着野兔, 猎狗和野兔的奔跑速度分别为 u 和 v。 问:猎狗能否在野兔进洞前抓住野兔?
1
微分方程应用
分析:
建立坐标系:设兔子的家为原点 (0,0),兔子与猎狗的初始位 置分别为 (0, b) 和 (x0, y0),其中 b<0,x0>0 在时刻 t:兔子位于(0, b+vt), 设猎狗位于 (x(t) , y(t) ) 。 由于猎狗的追踪方向始终 对着野兔,故有
(0, -60) 和 (70, 15),猎狗和野兔的奔跑速度分别为 5m/s 和 3m/s,问:猎狗能否在野兔进洞前抓住野兔?
function dx=dog(t,x) % 函数文件 global u v; dx=[x(2); v/u*sqrt(1+x(2)*x(2))/t]; global u v; % 脚本文件 u=5; v=3; x0=[15; 15/14]; % 初值 [t,x]=ode45(@dog,[70,0],x0); fprintf('x=0 时 y=%.4f\n',x(end,1));
ut
其中 u 是猎狗奔跑的速度。 消去变量 t
2 v x0 xy ' y b 1 y ' dx u x 2 v xy " 1 y ' u
两边求导
猎狗奔跑的轨迹
3
微分方程应用
如何判断猎狗有没有在野兔跑回家前追上兔子?
计算 x=0 时 y 的值!
MatlabR2014a基础教程
MATLAB R2014a 基础教程———MATLAB R2014a 快易行(上)前言MATLAB与Mathematica、Maple并称为“3M”,是数学界中三大著名软件,这些软件在数据运算处理上十分强大,备受科研工作者的青睐。
同时,MATLAB与Origin也是常见的绘图工具,MATLAB 侧重于图像的计算,Origin侧重于图像的表达。
另外,在仿真模拟方面,MATLAB与SYNESS、COMSOL等在该领域内被大家所推崇。
由此可见,MATLAB是一款功能强大、应用丰富且被广泛认可的科研工具,熟练掌握它有助于提高我们的科研质量。
在此之前,我做过关于Origin 9.0的“快易行”基础教程,思路是先把握软件的大体脉络,再根据自己的需求学习到边边角角。
可是,MATLAB却不能这样学,为什么呢?解压后的MATLAB R2014a有8.78G之大,而Origin 9.0只有663M,所以即使我们第一步只学主线,也会耗费巨大的时间与精力。
同时,学习跨度的增加很容易致使前面学了、后面忘了的尴尬局面,最后导致效果打折,如同古代打战时,切忌粮草供应线过长。
所以,在这款软件的学习上,希望大家能够有一条明确的思路,你要用MATLAB做什么,那我们就学什么,想多学点不是坏事,但猴子摘玉米的故事也是一个警钟。
好了,基于此思路,我们暂时就以MATLAB解决实际问题,计算微分方程并绘制相应图像为例,一步一步地进行学习。
这是以前写的一段话,这里同样受用:长话短说,学一款软件有两种方法,一种是拿着“从入门到精通”这类的书慢慢啃,啃完了就精通了,但除了高数我一点一点地啃完,其它的都没成功过。
另一种是先入门,几分钟或者个把小时内学会主线,剩下的再慢慢来,没必要全都会,根据自己的需求再学。
所以当时就想到了“快易行”这个概念:快速、容易、行得通。
讲重点,好上手,实用,复杂点的部分自己再慢慢来,这是本文的宗旨,也希望能达到这样的效果。
猎狗追兔子问题-数学建模
《数学建模》(2014春)课程期末论文摘要(一)对于问题一:自然科学中存在许多变量,也有许多常量,而我们要善于通过建立合适的模型找到这些变量之中的不变量。
猎狗追赶兔子的问题是我们在生活中常见的实例,而题目把我们生活中的普通的例子抽象成为高等数学中微分方程的例子,通过对高阶微分方程的分析,建立微分方程模型,并用数学软件编写程序求解,得出结论,解决生活中常见的实际问题。
(二)对于问题二:学习使用matlab进行数学模型的求解,掌握常用计算机软件的使用方法。
关键词微分方程导数的几何意义猎狗追兔子数学建模数学软件一、问题重述如图1所示,有一只猎狗在B 点位置,发现了一只兔子在正东北方距离它250m 的地方O 处,此时兔子开始以8m/s 的速度正向正西北方向,距离为150m 的洞口A 全速跑去. 假设猎狗在追赶兔子的时候,始终朝着兔子的方向全速奔跑。
请回答下面的问题:⑴ 猎狗能追上兔子的最小速度是多少? ⑵ 在猎狗能追上兔子的情况下,猎狗跑过的路程 是少?⑶ 假设猎狗在追赶过程中,当猎狗与兔子之间的距离为30m 时,兔子由于害怕导致奔跑速度每秒减半, 而狗却由于兴奋奔跑速度每秒增加0.1倍,在这种情 况下回答前面两个问题。
二、问题分析与假设在猎狗追赶兔子的时候猎狗一直朝着兔子的方向追赶,所以可以建立平面直角坐标系,通过导数联立起猎狗运动位移,速度和兔子的运动状态。
1.假设兔子的运动是匀速的。
2.假设猎狗的运动轨迹是一条光滑并且一阶导数存在的曲线。
3.猎狗的运动时匀速或者匀变速的。
4.猎狗运动时总是朝向兔子。
三、模型的建立及求解3.1 符号规定1.(x ,y ):猎狗或者兔子所在位置的坐标。
2. t :从开始到问题结束经过的时间。
3. a:猎狗奔跑的路程。
4. v:猎狗的奔跑速度。
3.2 模型一的建立与求解猎狗能够抓到兔子的必要条件:猎狗的运动轨迹在OA 要有交点以OA 为y 轴,以OB 为x 轴建立坐标系,则由图有O(0,0),A(0,150),B(250,0),兔子的初始位置0点,而猎狗初始位置是B 点,t (s )后猎狗到达了C (x ,y ),而兔子到达了D (0,8t ),则有CD 的连线是猎狗运动轨迹的一条切线,由导数的几何意义有:BA N OW S E BANO W SE8dy y tdx x-=dav dt=da =三式联立消去t ,得到;设:若猎狗可以追上兔子则有当兔子在OA,猎狗在OB 之间运动时此方程有解,设:得到:得到:228d y x dx v =8q v=dyp dx =22d y dp dxdx=dpdxq x =(250)0p=()250qx p +=250()qp x -=-两式联立相加得到:1.如果q=1即v=8 m/s 得到所以此情况无交点,所以v=8m/s 猎狗无法追上兔子; 2.如果q<1即v>8m/s 得到此情况有交点,所以有可能能够追上兔子,如果要追上兔子需要y<=150;解得到: 即所以这种情况下能够追上的最小速度是 .3.如果q>1 利用上式得到,所以这种情况不能追上兔子。
猎狗追兔子数学实验报告
数学实验报告—猎狗追赶兔子模型实验一.实验问题有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验:(1) 问猎狗能追上兔子的最小速度是多少?(2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少?(3) 画出猎狗追赶兔子奔跑的曲线图。
(4) 假设在追赶过程中,当猎狗与兔子之间的距离为30米时,兔子由于害怕,奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加0.1倍,在这种情况下,再按前面的(1)—(3)完成实验任务。
一.问题的分析模型求解(1)求解析解有方程:{√1+p2=r dxx,p(c)=0解该变量分离方程得p+√1+p2=(xc)r, 等价地亦可转换为P -√1+p 2=−(c x )r从而可得{dy dx =12[(x c )r −(c x )r ]y (c )=01)当r<1时,方程的解为y =c 2[11+r (x c )r −11−r (c x )1−r ]+cr 1−r 2, 此为猎狗追赶兔子的路线函数。
当x=0时,猎狗追上兔子,猎狗走过的距离为 y =cr 1−r 2,追赶时间为t =y a =cr a(1−r 2)=bc(b 2−a 2).2)当r=1时,方程的解为Y=12(x 2−c 22c −c ln x c ),3)当 r>1时,方程的解为 y =c 2[11+r (x c )1+r +1r−1(c x )r−1]−cr r 2−1, (2)用MATLAB 软件求解析解在MATLAB 软件命令窗中执行命令Dsolve(‘Dy=1/2*((x/c)^r-(c/x)^r)’,’y(c)=0’,’x ’)得方程的解析解为ans=1/2*exp(-r*(log(c)-log(x)))*c^r*(1/c)^r/(r+1)*x+1/2*exp(r*(log(c)-log(x)))/((-1+r)*x-1/2*c*(-(1/c)^r*c^r+c^r*(1/c)^r*r+r+1)/(r^2-1)(3)用MATLAB 软件求数值解先生成初值问题的函数文件。
猎狗追兔子的问题数学详细解答
tan
dy …………………………(1) dx
dy ……(2) dx
对于野兔则有: yr y s x tan y s x 对于(2)两边微分有:
dyr dy dy d2y ( s x) 2 …………………………(3) dx dx dx dx
野兔做匀速直线运动,猎犬做匀速曲线运动:
dyr v1dt
2 2 ………………(3) ds v2 dt dx dy
v1 dy 1 dx …………(4) 由此得出: dyr v2 dx
2
令
dy v1 和u dx v2
2
解得:
s 1 y 2 1
x 1 Βιβλιοθήκη s11 1 x 1 s
1
C'
初始条件:t=0,x=0,y=0 解得: 则猎犬追上兔子时间为:
令x s.带入得y
s 1 2
v2 s y s v2 s 2 时间:t 猎狗跑过的路程 S 2 2 v1 (1 2 ) v2 v12 v2 v12
平原上有一只野兔和一只猎犬,在某一时刻同时发现对方。野兔 在猎犬的正东方 S 处,野兔立即向正北方向跑去,猎犬也立即向野兔 追去。追击过程中猎犬始终朝着野兔方向,并且二者奔跑过程中速度 始终保持不变,且兔子速度为 V1,猎犬速度为 V2,且猎犬速度大于 野兔速度。求猎犬追赶的轨迹,以及追赶上的时间。 解法:以猎犬为坐标原点,正东 方为 x 正向正北为 y 正向, 建立坐标 系。 二者奔跑过程中, 猎狗的速度方 向始终向着野兔, 即猎犬追赶轨迹的 切线方向即为猎犬速度方向,设 p 点为猎犬轨迹上一点计时猎犬的位 置,
(2021年整理)Matlab实验报告
Matlab实验报告编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(Matlab实验报告)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为Matlab实验报告的全部内容。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境.二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2—x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x—1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x—3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4(6) y6=x^2/23.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(-x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x);(2) x/(1+x^2); (3) 1/(x-1)/(x-2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2) (3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
狗追兔子问题
理论力学课程小论文狗追兔子问题2011011576 力1 陈梓钧目标:1找到简化条件,使得狗的轨迹方程有解析解;2 寻找在简化条件下,狗一定能抓住兔子的“抓获区域”;3 研究当狗在“抓获区域”内时,兔子的规避动作;4 讨论狗有提前量的条件下,问题能否求解,并寻找最佳提前量。
一、 在简化模型下寻找狗轨迹方程的解析解 简化假设:以兔子的起点为原点,兔子与窝的连线为y 轴建立坐标系,窝的位置为(0,1)。
兔子与狗均全速奔跑,速度分别为a 与b ,a<b 。
兔子奔跑方向始终沿直线(y 轴),狗的速度始终指向兔子。
{dydx=−at−y x(1)∫√1+(dy dx )2(−dx)=bt x x0 (2)为狗满足的微分积分方程组化简得x dydx =y −y 0+a b ∫√1+(dy dx )2dx xx0两边求导得d 2y dx 2=ab √1+(dydx )2(3) 通过变量代换,解此微分方程,可得 y =12[c 11+a bx1+a b−c 1−11−a bx 1−ab ]+c 2 (4){y 0x 0=12[c 1x 0a b−c 1−1x 0a b]y 0=12[c 11+a bx 01+a b −c 1−11−a bx 01−ab ]+c 2(5) 其中(x0,y0)为狗的起始位置。
求解的步骤在附页中。
实例:令(x0,y0)=(1,0)用MATLAB 的ode45命令, 得到曲线如图1。
其中绿色线为ode45所解 出的数值解,蓝色线为(4)得到的解析解。
分别令a/b=1/3(红),1/2(绿),1/1.5(蓝) 得到图2令(x0,y0)=(1,1),(0,1.5),(-0.3,0.7),a/b=1/2 可得如图3所示各曲线。
二、 寻找一定能抓住兔子的范围在(一)的假设下考虑。
临界情况为狗在洞口抓住兔子,所以不妨反向考虑,设兔子和狗从洞口夹θ角同时出发,仍满足速度约束条件。
方程组变为:{dydx=−(1−y )−atx(6)∫√1+(dy dx )2dx =bt x 0 (7)同样可以解出:dydx =12[c 1x a b−c 1−1x −ab] ( 8 )刚出发时x=0:limx→0+dy dx =∞图1图2图3故θ=0,狗一定沿y 轴抓住兔子。
狗兔
一种解决‘狗撵兔子’问题的实用的方法
假设对于时间的计算要求精确到小数点后两位数,那么计时精度就是t=0.01S
1、t0时刻狗兔距离OO‘=L;
2、t1时刻狗兔距离AA’=V1与t乘积的平方加上L减去V2与t乘积的差的平方之平方和开平方;
3、t2时刻狗兔距离--这是重点,求BB'长度。
夹角OAA'可求,三角形BAB‘中AB=V1与t乘积;AB’=AA‘-V2与t乘积;则三角形BAB‘就可以得到AB、AB’以及相应的夹角BAB‘,根据余弦定理可求BB'长度以及夹角ABB’。
依次类推,直到求得狗兔距离为0的第n个时刻狗逮住兔子,而狗逮住兔子的时间则为T=nt. 根据以上步骤,可以编制计算机程序进行模拟,也可以得到相应的至少是经验性的公式进行总结。
Matlab数学建模实验报告
数学实验报告实验序号:实验一日期:实验序号:实验二日期:实验序号: 实验三 日期:班级 姓名 学号实验 名称架设电缆的总费用问题背景描述:一条河宽1km ,两岸各有一个城镇A 与B ,A 与B 的直线距离为4km ,今需铺设一条电缆连接A 于B ,已知地下电缆的铺设费用是2万元/km ,水下电缆的修建费用是4万元/km 。
实验目的:通过建立适当的模型,算出如何铺设电缆可以使总花费最少。
数学模型:如图中所示,A-C-D-B 为铺设的电缆路线,我们就讨论a=30度,AE (A 到河岸的距离)=0.5km ,则图中:DG=4-AC cos b -1/tan c ; BG=0.5km AC=AE/sin bCD=EF/sin c=1/sin c BD=BG D 22G则有总的花费为:W=2*(AC+BD )+4*CD ;我们所要做的就是求最优解。
实验所用软件及版本:Matlab 7.10.0实验序号: 实验四 日期:班级 姓名 学号实验 名称慢跑者与狗问题背景描述:一个慢跑者在平面上沿曲线25y x 22=+以恒定的速度v 从(5,0)起逆时钟方向跑步,一直狗从原点一恒定的速度w ,跑向慢跑者,在运动的过程中狗的运动方向始终指向慢跑者。
实验目的:用matlab 编程讨论不同的v 和w 是的追逐过程。
数学模型:人的坐标为(manx,many ),狗的坐标为(dogx,dogy ),则时间t 时刻的人的坐标可以表示为manx=R*cos(v*t/R); many=R*sin(v*t/R);sin θ=| (many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2)|;cos θ=| (manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2)|;则可知在t+dt 时刻狗的坐标可以表示为:dogx=dogx(+/-)w* cos θ*dt; dogy=dogy(+/-)w* sin θ*dt; (如果manx-dogx>0则为正号,反之则为负号)实验所用软件及版本:Matlab 7.10.0实验序号:实验五日期:班级姓名学号两圆的相对滚动实验名称问题背景描述:有一个小圆在大圆内沿着大圆的圆周无滑动的滚动。
猎狗追兔子问题
1. 有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验:(1) 问猎狗能追上兔子的最小速度是多少?(2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少?(3) 画出猎狗追赶兔子奔跑的曲线图。
(4) 假设在追赶过程中,当猎狗与兔子之间的距离为30米时,兔子由于害怕, 奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加0.1倍,在这种情况下,再按前面的(1)—(3)完成实验任务。
涉及Matlab 的知识:If-and 循环,while-and 循环,绘图。
数学建模与求解的方法:1.兔子的起始位置是O (0,0),狗的初始位置是B (-1002,-1002)。
兔子沿OA 直线跑动,OA 的方程是y=-x ,兔子的速度是8米每秒,所以任意时刻t,兔子的位置是)~,~(k k y x =(-42,42),狗以匀速追赶兔子,速度大小不变,方向时刻指向兔子。
设任意时刻t ,狗的位置是),(k k y x ,兔子的位置是)~,~(k k y x ,则有题意可知:cos α=)2)24(2)2424∧-+∧----y x x,sin α=)2)24(2)2424∧-+∧---y x y ,设狗的速度大小为v ,在t+dt 时,兔子的位置变为(-24(t+dt ), 24*(t+dt)),狗的位置的横坐标x ′=x+v*cos α*dt,纵坐标y ′=y+v*sin α*dt. 狗和兔子之间的距离211211)~()~(++++-+-=k k k k k y y x x d ,,当k d =0时,狗追到兔子,但如果在k d =0之前,兔子到达A 点,即兔子跑进了洞穴,则狗追不到兔子,兔子跑进洞穴所需时间为t=120/8=15秒,所以狗以最小速度追赶兔子时,在洞口初,恰好追到兔子。
实验2追赶法算法设计及MATLAB实现
数值计算方法实验报告实验序号:实验二实验名称:追赶法算法设计及MATLAB实现实验人:专业年级:教学班:学号:实验时间:实验二追赶法算法设计及MATLAB实现一、实验目的1.初步掌握算法设计规则;2.初步掌握MATLAB程序设计规则.二、实验内容1.构造利用追赶法求解三对角线性方程组的算法;2.在MATLAB环境下编写追赶法的程序(函数);3.自由选择若干个三对角线性方程组求解。
三、实验步骤1.追赶法算法:算法名称:thomas输入参数:向量a,b,c,f输出参数:输出解信息x算法的自然语言:Step1:u1=b1,y1=b1;Step2:对于i=2,3,….n;Step2.1:当u1-i≠,否则转step5l i =ai/u1-i;ui =bi-li*c1-i;yi =fi-li*y1-i;Step3:当un≠时,xn=yn/un,否则转step5Step4:对于:i=n-1,n-2,…..,2,1,转step6xi =(yi-ci*x1+i)/uiStep5:无解信息,转step7Step6:输出xStep7:关机2.MATLAB程序function [x,L,U]=thomas(a,b,c,f) n=length(b);% 对A进行分解u(1)=b(1);for i=2:nif(u(i-1)~=0)l(i-1)=a(i-1)/u(i-1);u(i)=b(i)-l(i-1)*c(i-1);elsebreak;endendL=eye(n)+diag(l,-1);U=diag(u)+diag(c,1);x=zeros(n,1);y=x;% 求解Ly=by(1)=f(1);for i=2:ny(i)=f(i)-l(i-1)*y(i-1);end% 求解Ux=yif(u(n)~=0)x(n)=y(n)/u(n);endfor i=n-1:-1:1x(i)=(y(i)-c(i)*x(i+1))/u(i);end3.求解实例例1.方程组例2.方程组例3.方程组⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎭⎫⎝⎛1131132132134321xxxx四、实验结论对于追赶法我最先写的是如下的程序:但是出现了如上截图中的错误,后来与同学讨论还是没能解决我的问题,最后借鉴了她的算法得到了正确的结果。
3.微分方程模型(缉私艇追击走私船问题)解析
c 2
1 1 r
x c
1r
r
1 ,1
c r1
x
cr r2 1
dy
1
x
r
c
r
dx 2 c x
y(c) 0
当 x 0 时, y 缉私艇不可能追赶上走私船。
3)
r 1 ,
y
1 2
x2 c2 2c
c ln
x c
当 x 0 时, y , 缉私艇不可能追赶上走私船。
微分方程模型实例2——缉私艇追击走私船问题
六. 实验任务
1. 有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地 方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全 速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计 算机仿真法等多种方法完成下面的实验: (1) 问猎狗能追上兔子的最小速度是多少? (2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。 (4) 假设在追赶过程中,当猎狗与兔子之间的距离为30米时,兔子由于
t=t+dt; jstx=jstx-b*dt*jstx/sqrt(jstx^2+(a*t-jsty)^2); jstxb=[jstxb,jstx]; jsty=jsty+b*dt*(a*t-jsty)/sqrt(jstx^2+(a*t-jsty)^2); jstyb=[jstyb,jsty]; zscy=a*t; zscyb=[zscyb,zscy]; end zscxb=zeros(length(zscyb)); plot(jstxb,jstyb,zscxb,zscyb,'*')
5.3.2 缉私艇追击走私船问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.同一个问题可以有多个解答方法,只要擅于分析和发现,在不断的总结中就可以有所收获。
兔子刚好被追上时跑的距离y=cr/1-r²。(r为兔子与猎狗速度之比)
时间t=cr/a(1-r²)=bc/(b²-a²)。
当兔子进洞的时候刚好被追到,这种情况下猎狗所需速度最小。将c=200,y=120带入方程并利用matlab求解:
所以最小速度为17.08m/s。
(2)程序如下:
(2)运用计算机仿真法
MATLAB实验报告
电气14班张程 2110401120
2012年4月12日星期四
一.实验目的
1.学会用matlab软件求解微分方程的初值问题。
2.学会根据实际问题建立简单微分方程数学模型。
3.了解级计算机数据仿真、数据模拟的基本方法。
二.实验题目
有一只猎狗在b处发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米每秒的速度向正西北方向距离为120米的洞口A全速跑去,假设猎狗在追赶兔子时始终朝着兔子的方向全速奔跑。
(1)问猎狗能追上兔子的最小速度是多少?
(2)选取猎狗的速度分别为15、18米每秒,计算猎狗追上兔子是所跑过的路程和所用的时间。
(3)画出猎狗追赶兔子奔跑的曲线图。
三.实验过程
(1)将所有路径转化入第一象限,从而转化为教材中缉私艇和走私船的问题。
兔子起始位置为(0,0),奔跑方向为y轴正方向,猎狗起始位置为(200,0)。
运行结果:t =18.2000s =273.0000
将程序中b改为18运行结果为:t =13.6000s =244.8000
兔子跑过距离分别为145.6000、108.8000,所以第一次兔子已经进洞,猎狗追不上。
(3)
下图分别为猎狗速度为18m/s、15m/s时的模拟图。
四பைடு நூலகம்反思总结
1.实际问题的解决可以通过matlab等工具进行很好地计算和模拟,关键在于找到适当的方法。