追赶曲线的计算机模拟
- 格式:doc
- 大小:58.50 KB
- 文档页数:2
实验追逐问题L问题提出在图8. 4中,假设正方形ABCD的四个顶点处各站人.在集时刻,四人同时以匀速v 沿顺时针方向追逐卜一个人,并且在任意时刻他们绘终保持追逐的方向是对准追逐目柿"例如、A追逐D任惫时刻A始终向着B追+可Wiil'nJJ四人的运动轨迹将按蛭旋删线状汇合于中心O.怎样证明呢?有两种证明方法.一是分别求出四人的运动轨迹曲纯解析式"求证艸条曲线在某时刻相交[一乩力一方丛则是用计律机模拟将四人的运动轨迹H观地去示在图形上*2.建亡模型及模拟方法模拟步骤;1)建立平面直箱坐标系.2)以时间间3进行采样,在毎一时H+算每个人在卜一时t+加时的坐标.3)不妨设屮的追遂对象是乙,在时MtlbL甲的酸标为(兀$),乙的坐标旳仕2小) + 屮在t+ 3 时的坐标为(”丫1 + cos^j^ +1込『虹口&1Jt屮cos# 二一用inf 二一= J(x2-^i)2 +(v2 - Vi)2a d ~ ~同珅,乙在T+At时的砸标为(x2 4- vAt cos0.y2 +皿f sin &) *4选取足够小的At,模拟到d <vAf时为止.5)连接四人在齐时刻的位社,就得到濟求的轨迹*连纯系统模拟的特点是首先选定一个时间步K (迪常是零间距的)i JC次按时何顺用推进*每推进一个时间步长,就对系统的活动和状态按预定的规则和冃的进行考察"分析r II 算、记录,亘到预定模拟结束条件(通常是时间条件)为止.Matlab程序如下:%取v=1,t=12,A,B,C,D 点的坐标分另为(0, 10), (10, 10) , (10, 0), (0, 0)v=1;dt=0.05;d=20;x=[0 0 0 10 10 10 10 0];x(9)=x(1);x(10)=x(2);holdaxis('equal')axis([0 10 0 10]);for k=1:2:7plot(x(k),x(k+1),'.')endwhile(d>0.1)for i=1:2:7d=sqrt((x(i)-x(i+1))A2+(x(i+1)-x(i+3))A2);x(i)=x(i)+v*dt*(x(i+2)-x(i))/d;x(i+1)=x(i+1)+v*dt*(x(i+3)-x(i+1))/d;plot(x(i),x(i+1),'.')endx(9)= x(1); x(10)= x(2);endhold运行结果如下:狼追击兔子的问题狼追击兔子问题是欧洲文艺复兴时代的著名人物达■芬奇提出的一个数学问题。
数学模型--狼追击兔子的问题一、问题重述与分析(一)问题描述神秘的大自然里,处处暗藏杀机,捕猎和逃生对动物的生存起着至关重要的作用,而奔跑速度和路线是能否追上和逃生的关键因素。
狼追击兔子问题是欧洲文艺复兴时代的著名人物达•芬奇提出的一个数学问题。
当一个兔子正在它的洞穴南面60码处觅食时,一只恶狼出现在兔子正东的100码处。
当两只动物同时发现对方以后,兔子奔向自己的洞穴,狼以快于兔子一倍的速度紧追兔子不放。
狼在追赶过程中所形成的轨迹就是追击曲线。
狼是否会在兔子跑回洞穴之前追赶上兔子?为了研究狼是否能够追上兔子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。
(二)问题分析1、本题目是在限定条件下求极值的问题,可以通过建立有约束条件的微分方程加以模拟。
2、通过运用欧拉公式及改进欧拉公式的原理,结合高等数学的有关知识,对微分方程进行求解。
3、将数学求解用Matlab程序语言进行实现得出方程的近似解。
4、最后解方程的解结合实际问题转化为具体问题的实际结果。
二、变量说明V1 :兔子的速度(单位:码/秒)r :狼与兔子速度的倍数;V2:狼的速度(单位:码/秒),显然有v rv it:狼追击兔子的时刻(t=0时,表示狼开始追兔子的时刻)◎:在时刻t,兔子跑过的路程(单位:码),$ s(t)S2 :在时刻t,狼跑过的路程(单位:码),S2 S2(t)Q(x i,yj :表示在时刻t时,兔子的坐标P(x,y):表示在时刻t时,狼子的坐标三、模型假设1、狼在追击过程中始终朝向兔子;2、狼追击兔子的轨迹看作是一条光滑的曲线,即将动点P(x, y)的轨迹看作一条曲线,曲线方程表示为y y(x)。
3、当猎狗与兔子之间的距离相当小时认为猎狗已经追上了兔子。
四、模型建立(一)建模准备以t = 0时,兔子的位置作为直角坐标原点,兔子朝向狼的方向为x轴正向;则显然有兔子位置的横坐标x i 0。
对狼来说,当x = 100 , y= 0,即y x 1000在t = 0刚开始追击时,狼的奔跑方向朝向兔子,此时即x轴负方向, 则有y xi00 0(二)建立模型1、追击方向的讨论由于狼始终朝向兔子,则在狼所在位置P(x,y)点过狼的轨迹处的切线方向在y轴上的截距为y i。
数学建模论文《数学建模》(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 的连线是猎狗运动轨迹的一条切线,由导数的几何意义有:NW8dy y tdx x-=dav dt =da =三式联立消去t ,得到;设:若猎狗可以追上兔子则有当兔子在OA,猎狗在OB 之间运动时此方程有解,设:得到:得到:两式联立相加得到:1.如果q=1即v=8 m/s 得到所以此情况无交点,所以v=8m/s 猎狗无法追上兔子; 2.如果q<1即v>8m/s 得到此情况有交点,所以有可能能够追上兔子,如果要追上兔子需要y<=150; 解得到: 即所以这种情况下能够追上的最小速度是 .3.如果q>1 利用上式得到,所以这种情况不能追上兔子。
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.同一个问题可以有多个解答方法,只要擅于分析和发现,在不断的总结中就可以有所收获。
c++ 贝尔曲线计算模拟两点坐标间的曲线移动轨迹文章标题:深度解析C++中贝尔曲线计算模拟两点坐标间的曲线移动轨迹在现代计算机科学中,C++语言被广泛应用于各种领域,包括图形学和计算机图形学。
其中,贝尔曲线(Bézier curve)是一种常用的数学工具,用于在计算机图形学中模拟两点坐标间的曲线移动轨迹。
本文将从C++语言的角度深入探讨贝尔曲线的计算模拟,旨在帮助读者全面理解和应用贝尔曲线在计算机图形学中的实际应用。
一、贝尔曲线简介在计算机图形学中,贝尔曲线是由一系列控制点和一组特定的数组算法所生成的曲线。
这些控制点决定了贝尔曲线的形状,而贝尔曲线的算法则确定了曲线的平滑度和变化规律。
贝尔曲线广泛用于计算机图形学中的曲线绘制、动画效果和路径规划等方面。
在实际的C++编程中,我们可以通过实现贝尔曲线算法来模拟两点之间的曲线移动轨迹,为计算机图形学和动画效果的实现提供强大的支持。
二、C++中的贝尔曲线计算模拟在C++编程中实现贝尔曲线算法需要考虑诸多因素,包括控制点的设置、贝尔曲线方程的推导和递归求解等。
我们需要确定两个端点和若干个控制点,它们将决定贝尔曲线的形状和路径。
我们可以使用贝尔曲线的递推公式来计算曲线上的点,从而实现曲线的绘制和移动效果。
在C++中,我们可以通过自定义函数或类来实现贝尔曲线算法,并结合图形库或动画库来展现计算结果。
三、C++中贝尔曲线的应用实例为了更具体地说明C++中贝尔曲线的应用,我们可以以一个实际的案例来展示其在计算机图形学中的效果。
假设我们要实现一个动态的曲线路径规划系统,其中涉及到飞机、汽车或无人机的路径模拟。
我们可以利用C++编程语言中的贝尔曲线算法来计算和模拟这些交通工具之间的曲线移动轨迹,从而实现更加真实和生动的动画效果。
四、个人观点和总结通过本文的讨论,我们可以看到C++语言在贝尔曲线计算模拟中的重要作用和实际应用。
贝尔曲线不仅可以用于计算机图形学中的动画效果,还可以应用于路径规划、数据可视化和工程设计等领域。
王道计算机模拟题2024(中英文实用版)Title: Royal Road Computer Simulation Questions 2024The year 2024 will bring about a new wave of computer simulation questions that are set to challenge even the most seasoned professionals.These questions will test the limits of one"s knowledge and ability in the field of computer simulation.2024年的计算机模拟题目将会给即使是经验丰富的专业人士带来挑战。
这些问题将测试一个人在计算机模拟领域的知识和能力极限。
As the world becomes more reliant on technology, the demand for skilled professionals in the field of computer simulation continues to grow.The questions posed in the 2024 simulation exam will reflect this growth, with a focus on advanced topics and cutting-edge technologies.随着世界越来越依赖技术,计算机模拟领域的专业人才需求持续增长。
2024年的计算机模拟考试题目将反映这一点,重点关注高级主题和前沿技术。
Candidates will be expected to demonstrate a deep understanding of a wide range of topics, from classical simulation techniques to the latest developments in artificial intelligence and machine learning.The questions will be designed to push candidates to think critically and solve complex problems in a timely and efficient manner.候选人预计将展示对各种主题的深入理解,从经典的模拟技术到人工智能和机器学习的最新发展。
追逐问题实验1. 四人追逐实验如图2.1,在正方形ABCD 的四个顶点各有一个人。
设在初始时刻0t =时,四人同时出发匀速以v 沿顺时针走向下一个人。
如果他们始终对准下一个人为目标行进,最终结果会如何。
作出各自的运动轨迹。
解:该问题可以通过计算机模拟来实现。
这需要将时间离散化。
设时间间隔为t ∆,j 时刻表示时间.t j t =∆设第i 个人j 时刻的位置坐标为:(,),(1,2,3,4;1,2,3,)ij ij x y i j ==对前面3个人表达式为: ,1,,1,..c o s (1,2,3)..s i n i j i j i j i j x x v t x i y y v t x ++=+∆⎧⎪=⎨=+∆⎪⎩ 其中cos x x x -= (1,2,3)i =sin y y x -= (1,2,3)i =对第4个人表达式为:4,14,4,14,..c o s ..s i n j j j j x x v t x y y v t x ++=+∆⎧⎪⎨=+∆⎪⎩ 其中cos x xx -=sin y y x -=Matlab 实现程序run.m 如下:%模拟运动n=240;x=zeros(4,n);y=zeros(4,n);dt=0.05; %时间间隔v=10; %速度x(1,1)=100; y(1,1)=0; %第1个人初始坐标x(2,1)=0; y(2,1)=0; %第2个人初始坐标x(3,1)=0; y(3,1)=100; %第3个人初始坐标x(4,1)=100; y(4,1)=100; %第4个人初始坐标for i=2:nfor j=1:3d=sqrt((x(j+1,i-1)-x(j,i-1))^2+(y(j+1,i-1)-y(j,i-1))^2);%第j+1个人和第j个人距离cosx=(x(j+1,i-1)-x(j,i-1))/d; %求cos值sinx=(y(j+1,i-1)-y(j,i-1))/d; %求sin值x(j,i)=x(j,i-1)+v*dt*cosx; %求新x坐标y(j,i)=y(j,i-1)+v*dt*sinx; %求新y坐标end %考虑第1,2,3人运动一步d=sqrt((x(1,i-1)-x(4,i-1))^2+(y(1,i-1)-y(4,i-1))^2);%第4个人和第1个人距离cosx=(x(1,i-1)-x(4,i-1))/d; %求cos值sinx=(y(1,i-1)-y(4,i-1))/d; %求sin值x(4,i)=x(4,i-1)+v*dt*cosx; %求第4点新x坐标y(4,i)=y(4,i-1)+v*dt*sinx; %求第4点新y坐标end%plot(x,y)for j=1:nplot(x(1,j),y(1,j),x(2,j),y(2,j),x(3,j),y(3,j),x(4,j),y(4,j)) %作点图hold on %保持每次作图,实现各次图行迭加end执行结果见图1图1 模拟结果图形2 舰艇追击实验某缉私舰雷达发现距d=10km 处有一艘走私船正以匀速u=8km/h 沿直线行驶,缉私舰立即以速度v=12km/h 追赶,若用雷达进行跟踪,保持船的瞬时速度方向始终指向走私船,试求缉私舰追逐路线和追上的时间。
实验实验题一实验题1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。
由于旅途的颠簸,大家都很疲倦,很快就入睡了。
第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。
第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰好一只给猴子,私藏一堆,再去入睡。
天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子。
试问原来共有几只椰子?试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。
实验题2 设,。
(1)从I0尽可能精确的近似值出发,利用递推公式:计算从I1到I20的近似值:(2)从I30较粗糙的估计值出发,用递推公式:计算从I1到I20的近似值:(3)分析所得结果的可靠性以及出现这种现象的原因。
实验题3 递推计算的稳定性计算积分其中a为参数,分别对a =0.05及a =15按下列两种方案计算,列出其可靠性进行分析比较,说明原因。
方案I 用递推公式递推初值可由积分直接得。
方案II 用递推公式根据估计式或取递推初值为或计算中取n =13开始。
实验课题4 三种求ln2的算法比较按下列三种方案构造逼近ln2的数列,用以求出ln2的近似值,要求精度。
观察和比较三种计算方案的收敛速度。
方案I 利用级数设则可取。
方案II 对方案I中的数据,按下列公式生成新数列。
称为数列的埃特金(Aitken)外推数列。
可以证明。
因此可取。
方案III 利用级数设则可取。
实验课题5 值的计算下面给出了三种求的近似值的计算方案,试比较它们的收敛速度和精度。
方案I 利用逼近单位圆半周长的方法。
单位圆半周长的值为,图1所示为一单位半圆,设为将半圆弧分成等份得以的角,其对应的弦线长度是。
则这样的弦线之和为(1-5)P n就是单位圆半周长的一个近似值由三角公式知(1-6)记,则由式(1-5),(1-6)可建立如下迭代公式(1-7)(1-8)则P n就是的逼近值。
高阶常微分方程模型—饿狼追兔问题第一章摘要概述本文以狼追击兔子这一现实情况为背景,并合理的加以数学假设,着重实际与模型的结合,现有一只兔子和一匹狼,兔子位于狼的正西100米处,假设当狼发现兔子时,兔子同时也发现了狼,这时二者一起起跑,兔子往正北60米处的巢穴跑,狼朝同样的方向在追兔子。
已知兔子、狼是匀速跑且狼的速度是兔子的两倍。
建立狼的运动轨迹微分模型。
通过画出的兔子与狼的运动轨迹图形,用解析方法及数值方法求解,兔子能否安全回到巢穴?经过分析与求解,得知兔子无危险。
在自然科学和技术科学中往往遇到大量的微分方程问题。
通过对高阶微分方程的分析,我们对题目里提出的问题建立了符合实际的数学模型,在模型的求解过程中应用数学软件MATLAB等计算工具,编写相应的程序,解决实际问题。
论文最后对模型的优缺点进行了分析和评价,并提出了模型的改进方向和思路。
关键字微分方程饿狼追兔数学建模第二章模型的背景问题描述随着课改的深入开展,实际情景问题应运而生,并迅速发展成为命题的亮点、热点。
实际情景问题是复杂多变的,它贴近生活,为学生所熟悉,且以一定的知识为依托。
恶狼追兔的问题属于实际的情景问题,具有一定的时代气息。
数学模型一般是实际事物的一种数学简化。
它常常是以某种意义上接近实际事物的抽象形式存在的,但它和真实的事物有着本质的区别。
是研究现实世界数量关系和空间形式的科学,建立教学模型的过程,是把错综复杂的实际问题简化、抽象为合理的数学结构的过程。
有助于我们提高用数学理论和方法去分析和解决问题的全过程,提高我们分析问题和解决问题的能力,提高我们学习数学的兴趣和应用数学的意识与能力,使我们在今后的工作中能经常性地想到用数学去解决问题,提高我们尽量利用计算机软件及当代高新科技成果的意识,能将数学、计算机有机地结合起来去解决实际问题。
利用高阶常微分方程模型—饿狼追兔问题现有一只兔子、一匹狼,兔子位于狼的正西100米处,假设兔子与狼同时发现对方并一起起跑,兔子往正北60米处的巢穴跑,而狼在追兔子。
追赶曲线的计算机模拟
问题描述:欧洲文艺复兴时期的著名人物达·芬奇曾经提出一个有趣的“狼追兔子”问题,当一只兔子正在它的洞穴南面60码处觅食时,一只饿狼出现在兔子正东的100码处。
兔子急忙奔向自己的洞穴,狼立即以快于兔子一倍的速度紧追兔子不放。
兔子一旦回到洞穴便逃脱厄,问狼是否会追赶上兔子?
这一问题的研究方法可以推广到如鱼雷追击潜艇、地对空导弹击飞机等问题上去。
在对真实系统做实验时,可能时间太长、费用太高、危险太大、甚至很难进行。
计算机模拟是用计算机模仿实物系统,对系统的结构和行为进行动态演示,以评价或预测系统的行为效果。
根据模拟对象的不同特点,分为确定性模拟和随机性模拟两大类。
模拟通常所用的是时间步长法,即按照时间流逝的顺序一步一步对所研究的系统进行动态演示,以提取所需要的数据。
问题分析:首先计算狼的初始位置到兔子洞穴的直线距离:
116.6190D =≈
由于狼奔跑的速度是兔子速度的两倍,兔子跑60码的时间狼可以跑120码。
如果狼沿直线奔向兔窝,应该是可以追上兔子的。
但是,有人推导出狼在追赶兔子过程中的运动曲线为
31221200()10303
y x x x =-+ 根据曲线方程,当0x =时,200/3y =。
也就是说,在没有兔窝的情况下兔子一直往北跑,在跑到大约66码处将被狼追上。
由此可知,在有兔窝时狼是追赶不上兔子的。
用计算机模拟的方法也可以得到同样的结论。
取时间步长为1s ,随时间步长的增加,考虑这一系统中的各个元素(狼和兔子)所处的位置变化规律,用计算机作出模拟。
最后,根据第60s 时狼所在的位置的坐标,判断狼是否能追上兔子。
问题思考与实验:
(1)设兔子奔跑的速度为01m/s υ=,则狼运动的速度为102υυ=。
建立平面直角坐标系,若当k t t =时刻,兔子位于点0(0,)k k Q t υ处,狼位于点(,)k k k P x y 处。
试根据k P ,k Q 的坐标确定一个单位向量k e 描述狼在1[,]k k t t +时段内的运动方向。
(2)根据狼的运动方向和速度推导(,)k k k P x y 到111(,)k k k P x y +++的坐标的具体表达式;
(3)用计算机绘制追赶曲线的图形(包括静态和动态的图形)。
一、源程序
x(1)=100;y(1)=0;u(1)=0;v(1)=0;
t=1;d=100;e=[-1 0];
while d>0.5
x(t+1)=x(t)+2*e(1);
y(t+1)=y(t)+2*e(2);
t=t+1;u(t)=0;v(t)=t;
e=[-x(t) t-y(t)];
d=sqrt(e(1)^2+e(2)^2);
e=e/d;
end
plot(u,v,'o',x,y)
二、运行结果
三、结果分析
动点P 的轨迹就是追赶曲线,P 点的运动方向可以用单位向量描述:
⎪⎪⎭⎫ ⎝⎛---+=
k k k k k k y t x y t x e 22
)(1。