狼兔问题的数学建模
数学建模之兔子问题(出稿)

数学建模一周论文论文题目:野兔生长问题姓名1:李宝川学号:09023320姓名2:彭亚学号:09023308姓名3:刘新斌学号:09023304专业:勘查技术与工程班级:090233指导教师:虞先玉老师2010年1月1日、摘要参照题目,野兔生长属自然范畴,在生存条件良好,且无外力干扰的情况下,其种群数量是呈对数型增长的。
题中可读,野兔生长并不是处于理想的情况下的,考虑到自然的各种原因,诸如,天地的捕杀,自然灾害,疾病等。
对于这种种群生态学问题,我们可以用Logistic(逻辑斯蒂方程)模型来模拟。
Logistic模型是种群生态学的核心理论之一。
它可以用来描述种群生长规律,利用它可以表征种群的数量动态。
之所以选择该模型来研究野兔生长问题,是因为,该模型考虑并概括了,种群发展所遇到的各种外界条件,也就是说,它模拟了真实情况。
通过建立Logistic模型,我们小组得出T=10时,野兔数量为9.84194(十万)只。
该结果比较符合客观规律。
利用Logistic模型可以表征种群的数量动态;如鱼类种群的增长,收获与时间关系的确定。
描述某一研究对象的增长过程如生态旅游区环境容量的确定,森林资源的管理以及耐用消费品社会拥有量的预测、国民生产总值的预测等;也可作为其它复杂模型的理论基础如Lotka-Volterra两种群竞争模型;以上的大多数的工作都是拿逻辑斯蒂模型来用,但也由此可看出逻辑斯蒂方程不管在自然科学领域还是在社会科学中都具有非常广泛的用途。
关键字:Logistic模型生态学 MATLAB程序问题重述野兔生长问题。
首先,野兔是生长在自然环境中的。
自然很复杂,存在着许多影响种群发展的因素。
我们知道,假如给野兔一个理想的环境,野兔数量是呈J型增长的。
现实情况中,种群一般是呈S型增长的,从题中表格看出,野兔的数量并不是单一地增长,T=3,6.90568;T=4,6.00512;T=5,5.56495;T=6,5.32807。
《数学建模实验》

《数学建模》上机作业信科05-3韩亚0511010305实验1 线性规划模型一、实验名称:线性规划模型—设备的最优配备问题。
二、实验目的:掌握线性规划模型的建模方法,并能用数值算法或MATLAB 库函数求解。
三、实验题目:某商店拟制定某种商品7—12月的进货、售货计划,已知商店仓库最大容量为1500件,6月底已存货300件,年底的库存以不少于300件为宜,以后每月初进货一次,假设各月份该商品买进、售出单价如下表。
四、实验要求:1、若每件每月的库存费用为0.5元,问各月进货、售货各为多少件,才能使净收益最多?建立数学模型。
2、利用相应的数值方法求解此问题的数学模型。
3、谈一谈你对这类线性规划问题的理解。
4、举一个简单的二维线性规划问题,并针对此问题将你所了解的线性规划的求解方法作出总结。
5、用软件lindo 或lingo 求解上述问题。
(选做题)6、编写单纯形算法的MATLAB 程序。
(选做题) 五、实验内容:解:设第i 个月进货xi 件,销售yi 件,则下半年总收益为销售收入减去进货费和仓库储存费之和,所以目标函数为:1211109871211109711109871211109875.232427252628252528262729)2345(5.0)2345)300(6(5.07x x x x x x y y y y y y y y y y y x x x x x x z y ------+++++++++++++++++-=整理后得:90024255.28275.2831255.25295.27295.31121110987121110987-------+++++=x x x x x x y y y y y y z由于仓库的容量为1500件,每个月的库存量大于0,小于1500,所以有如下约束条件150030001500300015003000150030001500300015003000111210119108978710119108978791089787897877877≤-+-+-+-+-++≤≤-+-+-+-++≤≤-+-+-++≤≤-+-++≤≤-++≤≤+≤y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x又有年底库存量不少于300则:300300121112101191089787≥--+-+-+-+-++y y x y x y x y x y x x化为抽象的线性规划模型为:90024255.28275.2831255.25295.27295.31max 121110987121110987-------+++++=x x x x x x y y y y y y z ,;12,,8,7;0,0120030012003001200300120030012003001200300121112101191089787111210119108978710119108978791089787897877877 =≥≥--+-+-+-+-+≤-+-+-+-+-+≤-≤-+-+-+-+≤-≤-+-+-+≤-≤-+-+≤-≤-+≤-≤≤-i y x y y x y x y x y x y x x y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x STi i线性规划目标函数的系数:f = [31; 28.5; 27; 28.5;25;24;-31.5;-29;-27.5;-29;-25.5;-25]; 约束方程的系数及右端项: A=[1,0,0,0,0,0,0,0,0,0,0,0 1,1,0,0,0,0,-1,0,0,0,0,0 1,1,1,0,0,0,-1,-1,0,0,0,0 1,1,1,1,0,0,-1,-1,-1,0,0,0 1,1,1,1,1,0,-1,-1,-1,-1,0,0 1,1,1,1,1,1,-1,-1,-1,-1,-1,0 -1,0,0,0,0,0,0,0,0,0,0,0 -1,-1,0,0,0,0,1,0,0,0,0,0 -1,-1,-1,0,0,0,1,1,0,0,0,0 -1,-1,-1,-1,0,0,1,1,1,0,0,0 -1,-1,-1,-1,-1,0,1,1,1,1,0,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,1];b=[1200;1200;1200;1200;1200;1200; 300; 300; 300; 300; 300; 300;0]; lb=zeros(12,1);[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);实验2 非线性规划模型一、实验名称:非线性规划模型。
算法分析与设计狼找兔子

链表法的具体实现
#include <stdio.h> #include <stdlib.h> #include <windows.h> typedef struct shandong { int num; int state; struct shandong *next; }cave;
void createlist(cave *head,int n) {//创建链表并初始化, p->state =0代表狼未进山洞 cave *p,*q; int i; p=head; for(i=0;i<n-1;i++) { p->num=i; p->state=0; q=(cave *)malloc(sizeof(cave)); p->next=q; p=q; } p->num=n-1; p->state =0; p->next=head; }
公约数法
#include <stdio.h> int check(int n,int m) { int i,temp,k; k=m<n?m:n; for(i=1;i<=k;i++) { if(m%i==0&&n%i==0) { temp=i; } } return temp; }
void main() { int n,m,result; scanf("%d",&n); scanf("%d",&m); result=check(n,m); if(result==1) printf(“该兔子死定了!\n"); else printf(“有安全山洞!\n"); }
数学建模例题题

数学建模试题一、传染病模型医学科学的发展已经能够有效地预防和控制许多传染病,但是仍然有一些传染病暴发或流行,危害人们的健康和生命。
社会、经济、文化、风俗习惯等因素都会影响传染病的传播,而最直接的因素是:传染者的数量及其在人群中的分布、被传染者的数量、传播形式、传播能力、免疫能力等。
一般把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感染者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类,移出者(Removal),指被隔离或因病愈而具有免疫力的人。
要求:请建立传染病模型,并分析被传染的人数与哪些因素有关?如何预报传染病高潮的到来?为什么同一地区一种传染病每次流行时,被传染的人数大致不变?二、线性规划模型—销售计划问题某商店拟制定某种商品7—12月的进货、售货计划,已知商店仓库最大容量为1500件,6月底已存货300件,年底的库存以不少于300件为宜,以后每月初进货一次,假设各月份该商品买进、售出单价如下表。
要求:若每件每月的库存费用为0.5元,问各月进货、售货各为多少件,才能使净收益最多?建立数学模型,并用软件求解。
【注】线性规划在MATLAB的库函数为:linprog。
语法为:x = linprog(f,A,b)x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)[x,fval,exitflag,output,lambda] = linprog(...)例如:线性规划目标函数的系数:f = [-5; -4; -6]约束方程的系数及右端项:A = [1 -1 13 2 43 2 0];b = [20; 42; 30];lb = zeros(3,1);调用线性规划程序linprog求解,得:[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);x= 0.000015.00003.0000三、一阶常微分方程模型—人口模型与预测 下表列出了中国1982-1998年的人口统计数据,取1982年为起始年(0=t ),1016540=N 万人,200000=m N 万人。
数学模型--狼追击兔子的问题

数学模型--狼追击兔子的问题一、问题重述与分析(一)问题描述神秘的大自然里,处处暗藏杀机,捕猎和逃生对动物的生存起着至关重要的作用,而奔跑速度和路线是能否追上和逃生的关键因素。
狼追击兔子问题是欧洲文艺复兴时代的著名人物达•芬奇提出的一个数学问题。
当一个兔子正在它的洞穴南面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。
兔子繁殖问题数学模型

兔子繁殖问题数学模型
兔子繁殖问题是一个经典的斐波那契数列问题。
在数学上,斐波那契数列是这样定义的:第一个数和第二个数分别是1,从第三个数开始,每个数都是前两个数之和。
斐波那契数列的前几项为:1, 1, 2, 3, 5, 8, 13,依次类推。
兔子繁殖问题的数学模型可以表示为以下递归关系式:
F(n) = F(n-1) + F(n-2)
其中,F(n)表示第n个月的兔子对数。
这个模型基于以下假设:
1. 每对兔子在出生后的第三个月开始繁殖。
2. 每对兔子每月繁殖出一对新的兔子。
3. 兔子总是雌雄成对出生。
通过这个模型,可以计算出兔子在任意月份的对数。
当n趋近于无穷大时,斐波那契数列的值将趋于一个无限大的极限,这就是著名的斐波那契数列的性质。
在实际应用中,斐波那契数列及其衍生问题广泛应用于生物学、经济学、计算机科学等领域。
例如,在计算机科学中,斐波那契数列常用于解决动态规划问题、回溯算法等问题。
饿狼追兔问题数学建模

饿狼追兔问题数学建模数学建模饿狼追兔问题摘要本文研究饿狼追兔问题,是在给定狼兔相对位置,以及兔子巢穴位置的情况下求解的,狼的速度是兔子速度两倍,在不考虑其他任何因素的情况下研究狼能否追上兔子的问题。
首先,我们对问题进行了适当的分析,然后根据已知条件建立了狼的运动轨迹微分模型。
其次,根据建好的模型,运用MATLAB编程,然后仿真画出了饿狼和野兔的运动轨迹图。
再次,用解析方法将建立的模型求解,并给出该问题的结论,准确的回答题目。
最后,用数值方法求解,将所求与前面所求进行对比,也给出结论,回答题目。
并将两种方法做相应比较。
结论:野兔可以安全回巢关键词:算法高阶常微分方程§1.1问题的提出在自然界中,各种生物都有它的生活规律,它们钩心斗角,各项神通,在饿狼追野兔的工程中,饿狼的速度是野兔的二倍,但是野兔有自己的洞穴,野兔在跑到自己洞穴之前被狼捉住,野兔就将会成为饿狼的囊中之物;如果野兔在饿狼捉住自己之前跑回到自己的洞穴,那么野兔就保住小命,得以生还。
图1-1-1为饿狼追野兔的两条曲线,其中绿线表示野兔,图中的箭头表示的是野兔的奔跑方向,野兔从远点开始沿y轴正方向运动,其洞穴在坐标为(0,60)的位置;红线为饿狼的运动轨迹,,图中的剪头表示饿狼追逐野兔的方向,饿狼从坐标为(100,0)的方向追逐野兔,饿狼的速度是野兔速度的二倍。
建立数学模型需研究一下几个问题:(1)设野兔的速度我v0,饿狼的速度为v1,野兔的奔跑方向是沿y轴正方向奔跑,而饿狼的方向是一直指向野兔的方向,即饿狼的运动的轨迹某一时候的切线指向同一时刻的野兔的位置。
建立饿狼追野兔的运动轨迹微分模型。
(2)根据建立的饿狼运动轨迹得微分模型,作出饿狼与野兔的运动轨迹图形。
(3)用解析方法求解,即根据第二步作出的饿狼渔业突地运动轨迹图形,分析兔子能否安全回到巢穴,即野兔的运动曲线与饿狼的运动曲线的交点是在点(0,60)-野兔巢穴的上面还是下面。
野兔生长问题数学建模论文

课程设计报告课程设计题目:野兔生长问题目录摘要 (03)问题重述 (05)模型假设 (06)建立模型 (07)模型求解 (09)模型误差分析 (13)摘要假设野兔生长的条件是在无外界干扰的完美条件下(即不考虑外界因素对野兔繁殖的影响),该种群的成长曲线应该为对数型增长。
但依题意可知,野兔增长先是成对数增长后来趋于平缓,变化幅度不断降低,这说明野兔生长并不是处于理想的情况下的,考虑到自然的各种原因,诸如,环境条件因为兔群激增而变得恶劣,天气的变化,天敌的增多等等。
对于这种种群生态学问题,我们可以用Logistic (逻辑斯蒂方程)模型来模拟。
Logistic 模型是种群生态学的核心理论之一,它可以很好的表示生物种群的生长规律,动态的表示生物种群的增减情况,例如兔子。
由于野兔生长问题相对简单,其涉及的内容和有求也相对较少,并且该问题概过了种群在生态中生长问题。
根据逻辑斯蒂方程,以及建立一只双曲线右支可以预测出在T=10 时,野兔数量为10.8156 十万只。
在此,我们结合过去九年野兔数量的历史数据,建立了逻辑斯谛增长模型,得到野兔的生长规律如下:野兔初始于该地方生存时,野兔的生长繁殖有充分的保障,数量增多。
随着野兔的不断繁殖,其有限生存空间日趋减小,其数量趋向于某一极值。
而当野兔数量超过环境容纳量时, 野兔种群的增长受到抑制,数量下降。
当野兔种群数量降低到环境容纳量以下时, 野兔种群的出生率上升,死亡率下降,自然资源与食物资源较为充裕,种内与种间竞争有所缓解,从而野兔种群增长加快。
通过建立Logistic模型,我们小组得出当T=10时,野兔数量为10.8156 (十万)只左右。
该结果比较符合客观规律。
利用Logistic 模型可以表征种群的数量动态;如昆虫类种群的增长,收获与时间关系的确定。
描述某一研究对象的增长过程如生态旅游区环境容量的确定,森林资源的管理以及耐用消费品社会拥有量的预测、国民生产总值的预测等;也可作为其它复杂模型的理论基础如Lotka-Volterra 两种群竞争模型;以上的大多数的工作都是拿逻辑斯蒂模型来用,但也由此可看出逻辑斯蒂方程不管在自然科学领域还是在社会科学中都具有非常广泛的用途。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
狼追兔子的问题
1.1 摘要:
数学建模可以使抽象的问题用数学符号和语言清楚的表达出来。
针对此题是高阶常微分方程问题。
此例问题虽然问法多样,但解法基本一致,这道题狼和兔子在运动过程中属微分方程模型与一阶常微分方程。
狼追兔子问题来源很久,早在几百年前就有人在研究他,由于数学的发展水平不是很高和软件的局限,所以没有研究透彻。
如今随着数学学科的发展和应用软件的飞速发展,对于这个的研究已进入新阶段。
由于狼要盯着兔子追,所以狼行走的是一条曲线,且在同一时刻,曲线上狼的位置与兔子的位置的连线为曲线上该点处的切线。
建立二者的运动微分方程,计算它们的运动轨迹,用软件MATLAB求解微分方程模型。
计算出兔子是否安全回到自己的巢穴。
1.1.1 问题的来源及意义:
(一) 问题重述与分析: 现有一只兔子,一只狼,兔子位于狼的正西100米处。
假设兔子与狼同时发现对方并一起起跑,兔子往正北60米处的巢穴跑,而狼在追兔子,已知兔子、狼是匀速跑且狼的速度是兔子的两倍。
问题是兔子能否安全回到巢穴?
(二)题起源于导弹跟踪问题,与狼追兔子问题在解决方法上是大致一样的。
导弹跟踪的研究对于再军事上有很重要的意义。
将导弹跟踪问题能简化为狼追兔子问题,都是高阶常微分方程模型,要涉及常微分方程,学会在实际问题中运用数学方法建模和求解。
1.1.2问题的分析:
饿狼追兔问题一阶微分方程初值问题数值解。
兔子它的洞在距离它现在吃草处正北方的60米处,在兔子的正东面100米处有一头饿狼正潜伏着观察兔子多时了兔子发现了狼的存在.兔子拼命的沿直线向洞逃跑,兔子知道不赶快进洞命休已,狼和兔子同时启动并且死死盯着兔子扑去.兔子跑的虽然快,但狼的速度是兔子速度的2倍.假如兔子和狼都匀速运动. 为了研究狼是否能够追上兔
子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。
1.1.3 模型假设:
狼在追击过程中始终朝向兔子;
狼追击兔子的轨迹看作是一条光滑的曲线,即将动点P ),(y x 的轨迹看作一条曲线,曲线方程表示为)(x y y =。
1.1.4 模型建立:
(一)问题分析:1. 以t =0时,兔子的位置作为直角坐标原点,兔子朝向狼的方向为
x 轴正向;则显然有兔子位置的横坐标01=x 。
2. 对狼来说,当x =100,y =0,即
100==x y
在t =0刚开始追击时,狼的奔跑方向朝向兔子,此时即x 轴负方向, 则有
100='=x y
图1 兔子与狼的运动轨迹
x
h A(100,0)
O
(二) 建立模型:
1变量说明
1v :兔子的速度(单位:码/秒) r :狼与兔子速度的倍数;
2v :狼的速度(单位:码/秒),显然有12rv v =
t :狼追击兔子的时刻(t=0时,表示狼开始追兔子的时刻)
1s :在时刻t ,兔子跑过的路程,)(11t s s =
2s :在时刻t ,狼跑过的路程,)(22t s s =
1、追击方向的讨论
由于狼始终朝向兔子,则在狼所在位置P ),(y x 点过狼的轨迹处的切线方向在距y 轴上的截为1y 。
设切线上的动点坐标为(X ,Y ),则切线方程为
)(x X y y Y -'=-
(1)
在(1)中,令X =0,则截距x y y Y '-=。
此时t v y 11=。
则此时截距等于兔子所跑过的路程,即:
1y Y =,
从而可得
x y y y Y '-==1
(2)
2、 狼与兔子速度关系的建模
在t 时刻,兔子跑过的路程为
t v y s 111== (3)
由于狼的速度是兔子的r 倍,则狼跑的路程为
112ry rs s == (4)
狼跑过的路程可以用对弧长的曲线积分知识得到,如下。
dx y s x
⎰
'+=100221 (5)
联立(2)、(4)、(5)得
)(11100
2x y y r ry dx y x
'-=='+⎰
(6)
对(6)两边求对x 的导数,化简得
rx
y y 2
1'+='' (7)
微分方程(7)式的初始条件有:
0100==x y 0100='=x y
3、 是否追上的判断
要判定狼是否追上兔子,可以通过(7)式判定。
对(7)式,
当x =0,如果计算求解得到60≥y ,则视为没有追上;
当x =0,如果计算求解得到60<y ,则视为兔子被追上;
模型求解:
运用Matlab 求解:
由微分方程得到其Matlab 函数
function yy=odefunlt(x,y)
%以狼在追击过程中的横坐标为自变量
yy(1,1)=y(2);
yy(2,1)=sqrt(1+y(2).^2)./(2.*x);
主程序:
tspan=100:-0.1:0.1;
y0=[0 0];
[T,Y] = ode45('odefunlt',tspan,y0);
n=size(Y,1);
disp('狼的坐标(x=0.1)')
disp(Y(n,1))
1.1.5 模型结果与分析:
运行结果:
狼的坐标(x=0.1)
62.1932
通过上面运行结果可知,狼并没有追上兔子.
1.1.6 参考文献:
微分方程模型见:数学模型引论(第二版)高等教育出版社【书号】7040101645 作者:唐焕问赫明峰
E. A. Bender, 数学模型引论,朱尧辰、徐伟宣译,科学普及出版社,1982.
南京地区工科院校数学建模与工业数学讨论班编,数学建模与实验,河海大学出版社,1996 557790 数学模型引论2006-06-16 高等教育出版社。