追赶曲线的计算机模拟

合集下载

数学建模追逐问题

数学建模追逐问题

实验追逐问题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运行结果如下:狼追击兔子的问题狼追击兔子问题是欧洲文艺复兴时代的著名人物达■芬奇提出的一个数学问题。

数值分析课程设计

数值分析课程设计
2.4722
2.3056
2.1389
1.9722
1.8056
1.6389
1.4722
1.3056
1.1389
0.9722
0.8056
0.6389
0.4722
0.3056
【结果分析】
第一小题当中首先算出较为精确的I0,之后经过代入的方法计算出 I(20),结果是比较准确的。但是第二小题当中先是算出必是很精确的I(30),本来所得误差比第一步就稍微大一点了,然后再用这个误差稍微大的I(30)回代计算I(20)——I(1),而从I(30)算到I(20)的时候误差这时已经够大了,采用这个误差更大的结果去计算我们想要的值,当然误差大得惊人啦,显然比第一种误差大得多。所以我们使用第一种方法得到的结果较接近准确值。

值课
分 程
析 设

专业班级:信息与计算科学09-1班
姓 名:陈育伟
学 号:********
实验一
1.1水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?
具体算法如下:
>> x=0:.1:pi;
y1=sin(x);
y2=x-x.^3/6;
plot(x,y1,x,y2)
得到的图形如右图:
(3)y3=x-x^3/6+x^5/120,x∈[0,pi/2]

曲线曲面的计算机数学处理

曲线曲面的计算机数学处理

(x2 x0 )(x2 x1)
(x2 x0 )(x2 x1)
f (x0 , x2 ) f (x0 , x1) x2 x1
上式含义为一阶均差的均差,称为函数f(x)的 二阶均差,记为f(x0,x1,x2)
依次类推,可得
p (x) 2
f
(x0 )
f
(x0 , x1)( x x0 )
之,三次样条函数就是全部通过型值点,二阶连续 可导的分段三次多项式函数。
3、三次样条函数插值解
1)利用公式
M M 2
0
0
1
0
(1
)
1
M
0
2M
1
1
M
2
1
(1
)
2
M
1
2M
2
2
M
3
2
M 2M M (1 )
n1
n2
n1
n1
n
n1
M M
(1 )
2
n
n1
n
n
2
1 1
f
(x0 , x1, x2 )( x x0 )( x x2 )
经直接计算可得
y
y
y
f
(x0 ,
x1,
x2)
( x0
0
x1)(x0
x2)
( x1
1
x0)(x1
x2)
( x2
2
x0)(x2
x1)
由上式可以推知,二阶均差也与点的排序无关,也 具有对称性。由此可以归纳出高阶均差的定义:k-1 阶均差的均差称为k阶均差,即
2、插值的基本思路
插值的基本思路是先设法对列表函数f(x)构 造一个简单函数y=p(x)作为近似表达式,然 后再计算p(x)的值来得到f(x)的近似值。

数学模型--狼追击兔子的问题

数学模型--狼追击兔子的问题

数学模型--狼追击兔子的问题一、问题重述与分析(一)问题描述神秘的大自然里,处处暗藏杀机,捕猎和逃生对动物的生存起着至关重要的作用,而奔跑速度和路线是能否追上和逃生的关键因素。

狼追击兔子问题是欧洲文艺复兴时代的著名人物达•芬奇提出的一个数学问题。

当一个兔子正在它的洞穴南面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实验报告(猎狗追兔子的问题)

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.同一个问题可以有多个解答方法,只要擅于分析和发现,在不断的总结中就可以有所收获。

c++ 贝尔曲线计算模拟两点坐标间的曲线移动轨迹

c++ 贝尔曲线计算模拟两点坐标间的曲线移动轨迹

c++ 贝尔曲线计算模拟两点坐标间的曲线移动轨迹文章标题:深度解析C++中贝尔曲线计算模拟两点坐标间的曲线移动轨迹在现代计算机科学中,C++语言被广泛应用于各种领域,包括图形学和计算机图形学。

其中,贝尔曲线(Bézier curve)是一种常用的数学工具,用于在计算机图形学中模拟两点坐标间的曲线移动轨迹。

本文将从C++语言的角度深入探讨贝尔曲线的计算模拟,旨在帮助读者全面理解和应用贝尔曲线在计算机图形学中的实际应用。

一、贝尔曲线简介在计算机图形学中,贝尔曲线是由一系列控制点和一组特定的数组算法所生成的曲线。

这些控制点决定了贝尔曲线的形状,而贝尔曲线的算法则确定了曲线的平滑度和变化规律。

贝尔曲线广泛用于计算机图形学中的曲线绘制、动画效果和路径规划等方面。

在实际的C++编程中,我们可以通过实现贝尔曲线算法来模拟两点之间的曲线移动轨迹,为计算机图形学和动画效果的实现提供强大的支持。

二、C++中的贝尔曲线计算模拟在C++编程中实现贝尔曲线算法需要考虑诸多因素,包括控制点的设置、贝尔曲线方程的推导和递归求解等。

我们需要确定两个端点和若干个控制点,它们将决定贝尔曲线的形状和路径。

我们可以使用贝尔曲线的递推公式来计算曲线上的点,从而实现曲线的绘制和移动效果。

在C++中,我们可以通过自定义函数或类来实现贝尔曲线算法,并结合图形库或动画库来展现计算结果。

三、C++中贝尔曲线的应用实例为了更具体地说明C++中贝尔曲线的应用,我们可以以一个实际的案例来展示其在计算机图形学中的效果。

假设我们要实现一个动态的曲线路径规划系统,其中涉及到飞机、汽车或无人机的路径模拟。

我们可以利用C++编程语言中的贝尔曲线算法来计算和模拟这些交通工具之间的曲线移动轨迹,从而实现更加真实和生动的动画效果。

四、个人观点和总结通过本文的讨论,我们可以看到C++语言在贝尔曲线计算模拟中的重要作用和实际应用。

贝尔曲线不仅可以用于计算机图形学中的动画效果,还可以应用于路径规划、数据可视化和工程设计等领域。

计算机仿真.ppt

计算机仿真.ppt
长江三峡工程
三峡水库总库容393 亿立方米,总装机容量 1820万千瓦,将是世界上最大的水电站。
但是三峡的安全问题是一个很重要的问题,我 们不可能等到建好后再看它的安全性,用计算机仿 真就可以很好的解决这一问题。
计算机仿真的基本概念
飞机设计
飞机设计中有一个重要环节:风洞试验。 实际的风洞试验费用巨大。 使用计算机仿真进行模拟风洞试验,使费用大大降低。
计算机仿真的基本概念
仿真举例
计算机仿真反映出新的科学技术的时代特
征,它的应用为各个领域带来新气象和成果。
应用的领域有:
航空管理,
公交车的调度,
飞机设计,
动画设计,
三峡的安全、生态, 道路的修建,
医疗保险,
国债的发行,
家居装修,
炼钢的温度估计,
发电厂的操作训练, 飞行员训练,
鼠疫的检测和预报。
计算机仿真的基本概念
Cos (0x) / (0x)2 (at y)2 Sin (at y) / (0x)2 (at y)2
取时间间隔(步长)为t ,则在时刻 t+t ,D的位置是(x x, y y) ,
x btCos
y btSin
(*)
计算机仿真举例
算法:
赋初值:初始时刻 t0,时间步长 t ,速度a,b,初始位置c
找出系统的实体、属性和活动等。
建立模型;

选择合适的仿真方法(如时间步长法、事件表法
型 等);确定系统的初始状态;设计整个系统的仿真流 构 程图。 造 收集数据;
编写程序、程序验证;
模型确认。
仿真研究的步骤
行模 与型 改的 进运
运行:确定具体的运行方案,如初始条件、参数、 步长、重复次数等,然后输入数据,运行程序。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

追赶曲线的计算机模拟
问题描述:欧洲文艺复兴时期的著名人物达·芬奇曾经提出一个有趣的“狼追兔子”问题,当一只兔子正在它的洞穴南面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。

相关文档
最新文档