- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验十八迭代与分叉、混沌.doc
实验十八 迭代与分叉、混沌
【实验目的】
了解逻辑斯谛迭代的基本概念。
了解逻辑斯谛迭代中的分叉和混沌现象。
学习掌握MATLAB软件有关的命令。
【实验内容】
在受环境制约的情况下,生物种群的增长变化行为变得复杂。例如在一个池塘中,环境可供2000条鱼生存。在鱼的数量远远低于此数时,鱼群的增长接近于指数增长。但是当鱼群数量接近于生存限2000时,由于生态环境逐渐恶化,鱼群增长逐渐变慢,几乎停止增长。如果鱼群群数量超过了生存限,由于环境不堪重负,鱼群会出现负增长。试建立鱼群增长的数学模型。
【实验准备】
1.逻辑斯谛模型
方程
称为逻辑斯谛模型。
2.一些基本概念
设是一个定义在实数域上的实值函数,如果存在,使得,则称为的不动点。如果所有附近的点在迭代过程中都趋向于某个不动点,则称该不动点为吸引点,或称为稳定点;如果所有附近的点在迭代过程中都远离他而去,则称该不动点为排斥点,或称为不稳定点。如果
,
且,则构成一个循环。称为周期点,称为一个周期轨道。
迭代的MATLAB命令
MATLAB中主要用for, while等控制流命令实现迭代.
【实验方法与步骤】
练习1 考察实验引例中的问题,记为第代鱼的数量,设鱼的增长量为原来数目的正比函数,而增长率为鱼数量的线性减函数,则可得如下的模型
上式称为逻辑斯谛方程,式中为环境所容许的最大容量,本例中,为自然增长率,本例中,不妨设,则可得如下的迭代格式
。
下面,选取不同的初值,观测鱼群数量的变化趋势。
初值,相应的MATLAB代码为:
clear;
x=0;
for i=1:30
x=x+0.001*x*(1500-x); x1(i)=i; y(i)=x;
end
plot(x1,y,o)
计算结果见下图,由图中可知,迭代恒等于0,0是迭代式的不动点。
图18.1 鱼群数量增长图(初值为0)
(2)初值,例如,相应的MATLAB代码为:
x=50;
for i=1:30
x=x+0.001*x*(1500-x); x1(i)=i; y(i)=x;
end
plot(x1,y,o)
计算结果见下图,由图中可知,迭代收敛于1500,1500是迭代式的不动点。
图18.2 鱼群数量增长图(初值为50)
(3)初值,相应的MATLAB代码为:
x=1500;
for i=1:30
x=x+0.001*x*(1500-x); x1(i)=i; y(i)=x;
end
plot(x1,y,o)
计算结果见下图,由图中可知,迭代恒等于1500,1500是迭代式的不动点。
图18.3 鱼群数量增长图(初值为1500)
(4)初值,例如,相应的MATLAB代码为:
x=1800;
for i=1:30
x=x+0.001*x*(1500-x); x1(i)=i; y(i)=x;
end
plot(x1,y,o)
计算结果见下图,由图中可知,迭代仍收敛于1500,1500是迭代式的不动点。
图18.4 鱼群数量增长图(初值为50)
练习2逻辑斯谛方程可写为标准形式
对于不同的,观测数列的收敛情况。
(1),相应的MATLAB代码为:
clear;
x=0.3; r=0.6;
for i=1:30
x=r*x*(1-x); x1(i)=i; y(i)=x;
end
plot(x1,y,k-o)
计算结果见下图,由图中可知,迭代收敛于0,0是迭代式的不动点。
图18.5 逻辑斯谛迭代()
为了画出迭代的蛛网图,相应的MATLAB代码为:
clear;
x=0.3; r=0.6;
for i=1:30
x=r*x*(1-x); y(i)=x;
end
x1(1)=0.3; y1(12)=0;
for i=1:29
x1(2*i+1)=y(i); x1(2*i)=x1(2*i-1);
y1(2*i)=y(i); y1(2*i+1)=y1(2*i);
end;
x2=0:0.01:1; y2=x2; y3=r.*x2.*(1-x2);
plot(x1,y1,k-,x2,y2,k-,x2,y3,k-)
图18.6 逻辑斯谛迭代的蛛网图()
(2),相应的MATLAB代码为:
clear;
x=0.3; r=2.8;
for i=1:30
x=r*x*(1-x); x1(i)=i; y(i)=x;
end
plot(x1,y,k-o)
计算结果见下图,由图中可知,迭代数列上下振荡,收敛于不动点。
图18.7 逻辑斯谛迭代()
为了画出迭代的蛛网图,只需在第一种情况相应的MATLAB代码r=0.6改为r=2.8即可。
图18.8 逻辑斯谛迭代的蛛网图()
(3),相应的MATLAB代码为:
c
文档评论(0)