野兔生长问题.docx
《野兔生长问题.docx》由会员分享,可在线阅读,更多相关《野兔生长问题.docx(13页珍藏版)》请在冰点文库上搜索。
野兔生长问题
东华理工大学
数学建模一周论文
论文题目:
野兔生长问题
姓名1:
陈志华学号:
09312101
姓名2:
刘坚学号:
09312108
姓名3:
龚顺良学号:
09312210
专业:
自动化
班级:
093121
(2)
指导教师:
乐励华
2011年12月28日
目录
目录………………………………………………………1
摘要………………………………………………………2
关键字及问题重述………………………………………3
模型假设…………………………………………………3
分析与建立模型…………………………………………4
模型的求解………………………………………………7
模型求解的结论…………………………………………14
模型的误差分析…………………………………………15
模型的改进………………………………………………18
附录………………………………………………………19
设计小结…………………………………………………20
参考资料…………………………………………………20
摘要
从表格中的九年中野兔生长的数据,分析九年中年的野兔生长的情况以及生长规律。
得出第十年的野兔的数量。
分析了野兔种群数量的统计结果,假设野兔在十年内生长环境变化稳定,但是数据显示这是不可能的,因为在两个数据点处出现了异常的增长现象。
在异常的自然条件下野兔的生长状况是不符合正常的生长律的。
因此我们先排除这两个异点,并试图揭示剩下的几组数据兔种群数量变化的规律
对于这种种群生态学问题,我们可以用Logistic(逻辑斯蒂方程)模型拟和多项式拟合来模。
Logistic模型是种群生态学的核心理论之一。
它可以用来描述种群生长规律,利用它可以表征种群的数量动态。
用多项式拟合可以大致模拟预测未来的兔子数量。
之所以选择该模型来研究野兔生长问题,是因为,该模型考虑并概括了,种群发展所遇到的各种外界条件,也就是说,它模拟了真实情况。
通过建立Logistic模型,我们小组得出T=10时,野兔数量为9.84194(十万)只。
该结果比较符合客观规律。
关键字:
Logistic模型生态学MATLAB程序
问题重述
野兔生长问题。
首先,野兔是生长在自然环境中的。
自然很复杂,存在着许多影响种群发展的因素。
我们知道,假如给野兔一个理想的环境,野兔数量是呈J型增长的。
现实情况中,种群一般是呈S型增长的,从题中表格看出,野兔的数量并不是单一地增长,T=3,6.90568;T=4,6.00512;T=5,5.56495;T=6,5.32807。
第四年到第七年,这三年野兔的数量不增反降,说明其间有影响野兔生长的因素存在。
我们探讨了其中的因素:
(1),兔子内部因素,竞争,雄雌比利失去平衡,老化严重等。
(1),自然灾害,比如说草原火灾,使野兔生长环境遭到破坏;再如气候反常,使野兔的产卵,交配受影响。
(2),天敌的捕食,狼,狐狸等天敌大量地捕食使野兔生存受到威胁。
(3),疾病的侵扰,野兔种群中,蔓延并流行疾病,必然使野兔存活率下降。
。
(4),人类的影响,城市扩建,使其栖息地面积减少;捕杀。
考虑到上述因素,野兔的生长就不能完全用一个Logistic模型来模拟
模型假设
上述,野兔生长问题,我们假设
(1),假设它使处于自然的情况(没有人的作用),人类活动对其生存不产生影响。
(2),假设各个环境因素对野兔生长的影响是互不影响的。
(3),假设兔子的内部因素对其生存率的影响不大。
(4),假设野兔在各年龄段中的分布率不变,即年龄结构不变,并采用各种措施维持这一结构;那它是可以用Logistic模型来模拟的。
分析与建立模型
生物模型,我们首先考虑的是logistic模型,但是我们这里有些地方是出现了下降的形式,所以我们必须把这个反常的现象拟合。
然而,导致野兔减少的因素很多,我们必须将得到的数据分阶段处理。
事实上,早在18世纪末,马尔萨斯(ThomasMalthus,1766—1834)就发表了著作《人口原理》,从此激发了人们研究人口增长趋势的兴趣。
马尔萨斯在他的这本书里提出了人口按指数增长的模型,并断言人口数量最终将超出食物所能提供的容纳能力。
虽然马尔萨斯模型的假设忽略了人口增长中的一些重要因素,但是这个模型作为以后改进模型的基础是很有价值的。
从这个意义上说,我们去探索野生动物的生长规律,正如同探索人类自身的种群数量,即人口增长规律一样,显得很有价值。
(1)我们得到的数据是某地区野兔的数量在连续十年中的统计结果,如下表:
时间:
年数量:
十万
T=0
T=1
T=2
T=3
T=4
T=5
T=6
T=7
T=8
T=9
1
2.31969
4.50853
6.90568
6.00512
5.56495
5.32807
7.56101
8.9392
9.5817
第一单调增区间
T=0
T=1
T=2
T=3
1
2.31969
4.50853
6.90568
第一单调减区间
T=3
T=4
T=5
T=6
6.90568
6.00512
5.56495
5.32807
第二单调增区间
T=6
T=7
T=8
T=9
5.32807
7.56101
8.9392
9.5817
我们把野兔生长情况分成了上表三个区间,建立野兔生长的logistic模型。
(2)问题分析
时间(年)
T=0
T=1
T=2
T=3
T=4
T=5
T=6
T=7
T=8
T=9
数量(十万)
1
2.31969
4.50853
6.90568
6.00512
5.56495
5.32807
7.56101
8.9392
9.5817
增长量(十万)
/
1.31969
2.18883
2.39715
-0.90056
-0.44017
-0.23688
2.23294
1.37819
0.64250
增长百分比
/
131.97%
94.36%
53.17%
-13.04%
-7.33%
-4.26%
41.91%
18.23%
7.19%
在这些表格中有一个量必须说明,就是百分比:
增长百分比=(增长量)/(上一年的野兔数量)
我们先假设在一个小的单位时间间隔内新出生的兔子百分比为b,类似的兔
子死亡率的百分比为c。
换句话,新的兔子数P(t+Δt)是原有兔子数P(t)加上在Δt时间内新增兔子数减去死亡兔子数,即
P(t+Δt)=P(t)+bP(t)Δt-cP(t)Δt或者:
式(2-1)
这样我们把问题化归到如何确定k。
一旦k被确定,通过已知数据,我们解这个微分方程,就可以得到一个野兔数量随时间变化的函数了。
我们考虑(式2-1)中度量增长率的比例因子k是兔子数的函数而不是常数。
(否则当k是常数时我们知道兔子数将成指数增长,这是令人难以置信、不切实际的。
)考虑到在一定区域内,兔子的生存空间是有限的,食物是有限的,且存在种间竞争与种内竞争,结合生物学理论可知兔子数量必然趋于某个饱和值,是有限的。
我们假设这个饱和值是M,则合理的猜测是随着兔子数的增长并逐渐接近饱和值M时,比率k逐渐减小。
关于k的一个简单情形是线性的子模型
k=r(M-P),r>0
其中r是常数,代入(式2-1)得到
dt(t≤t≤t)
DX
⎪=a(M-b)P
(式2-2)
P(t0)=p0(式2-2)
aM(t-t)
求解这个微分方程我们得到:
(式2-3)
arM(t-t)
M-X+Xe
XMe
X(t)=
这个模型最早是由丹麦生物数学家Pierre-FrancoisVerhulst(1804--1849)提出的,称为logistic增长模型。
在下面的模型求解部分,我们将大量使用该函数来模拟野兔生长状态。
当然(式2-3)的得出依赖着假设k是一个简单的线性子模型,我们将在模型的改进部分对此作一些讨论。
模型的求解
对于logistic连续模型,设微分方程为
,
(1)
其中参数a,b需要通过拟合得到。
的解为
.
(2)
设已知连续三年的数据
,其中
,则由
(2)得方程组
(3)
这三个方程中有三个未知量
可以解出a,b如下:
将(3)中第一式代入第二、三式消去x0,得
(4)
消去a后得b满足的方程
(5)
解得
.(6)
代入(4)的第一式得a满足的方程
(3)
求参数a,b的MATLAB程序
function[a,b,q]=hare(p,T)
%输入单调的连续三年数量p和时间间隔T(本题T=1),输出参数a,b和下一年的数量q
a=log(p(3)*(p
(2)-p
(1))/(p
(1)*(p(3)-p
(2))));
b=(p
(2)^2-p(3)*p
(1))/(p(3)*p
(2)+p
(1)*p
(2)-2*p
(1)*p(3))/p
(2);
q=1/(b+(1/p(3)-b))*exp(-a*T));
在第一个上升阶段,对于连续三年(0,1,2)和(1,2,3)分别计算得到二组a,b值
0.999996295432800.09999899065418
1.000001896730560.10000006995945
在下降阶段,对于连续三年(3,4,5)和(4,5,6)分别计算得到的二组a,b值
0.499999514703010.20000005321601
0.499983964746560.20000085565547
在第二个上升阶段,对于连续三年(6,7,8)和(7,8,9)分别计算得到的二组a,b值
1.000005087174110.10000005796845
1.000009756401800.10000014562299
当取a,b为最后一组数据时,t=10时由
(2)得到预测数为9.84193(十万),当取a=1,b=0.1时,预测数为9.84194(十万).
结论是:
在T=0到T=3之间增长规律为logistic模型:
.
在T=3到T=6之间增长规律有异常情况,但仍为logistic模型;:
.
在T=6到T=9之间增长规律恢复为logistic模型:
.
在T=10时,在正常情况下,野兔数量为9.84194(或9.84193)(十万)只。
(1)M估计为10(十万)时,ln(p/(M-p))=Mrt+C的函数曲线
时间(年)图5-1
如图5-1所示,图形分为两段,第一段(第0年到第3年)和第二段(第6年到第9年)确实近似于直线。
并且得到:
两条的直线斜率都为m=1,r=0.1
图(5-2)
(2)M=9.9(十万),ln=rMt+C图形:
M估计值为9.9(十万)时,ln(p/(M-p))=Mrt+C的函数曲线
函数曲线在0-3年的分支,参数为C1
时间(年)图5-3
斜率m=1.007,r=0.10172(第0年到第3年);
斜率m=1.0812,r=0.10921(第6年到第9年)
(3)M=10.1(十万),
M估计值为10.1(十万)时,ln(p/(M-p))=Mrt+C的函数曲线
函数曲线在6-9年的分支,参数为C2
斜率m=0.99326,r=0.0983;
斜率m=0.93706,r=0.09278。
接下来我们让M分别取这三个值时,利用式(2-2)估计出的不同年份的野兔数量和实际统计数据之间的偏差情况。
用(式2-2)对各年份野兔数量作出计算及比较
1)M=10(十万)时:
在从第0年到第3年就可以变为:
野兔种群饱和值为10(十万)的对比曲线
0-4年logistic函数曲线(第零年为初值)
图5-4
2)M=9.9(十万)时,
用类似于
(1)的方法,我们得到表格:
时间
(年)
统计得到的兔子数
量(十万)
通过函数计算得到的兔子数量
(十万)
百分误差
0
1.00000
1.00000
0.00000%
1
2.31969
2.32870
0.38800%
2
4.50853
4.52522
0.37000%
3
6.90568
6.90426
-0.02100%
4
6.00512
8.54547
42.30300%
5
5.56495
9.35811
68.16200%
6
5.32807
5.32807
0.00000%
7
7.56101
7.66817
1.41700%
8
8.93920
9.01047
0.79700%
9
9.58170
9.57924
-0.02600%
10
9.78882
表5-2
从表格中可以看出:
第十年的野兔数量为978882只。
同样,作出此时的对比图形:
野兔的种群饱和值为9.9(十万)的曲线对比
3)M=10.1(十万),用类似于
(1)的方法,得到的表格:
时间
(年)
统计得到的兔子数
量(十万)
通过函数计算得到的兔子数量
(十万)
百分误差
0
1.00000
1.00000
0.00000%
1
2.31969
2.31103
-0.37300%
2
4.50853
4.49235
-0.33900%
3
6.90568
6.90685
0.01700%
4
6.00512
8.62344
43.60100%
5
5.56495
9.49769
70.67000%
6
5.32807
5.32807
0.00000%
7
7.56101
7.47658
-1.11700%
8
8.93920
8.87936
-0.67000%
9
9.58170
9.58384
0.02200%
10
9.89129
式5-2
从表格中看出:
此时,第十年的野兔数量为989129只
这个时候的对比图形:
图(5-5)
从表格中可以得出第10年的野兔数量为9.89129(十万)
图(5-6)