218迭代与分叉溷沌.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
218迭代与分叉溷沌

PAGE  PAGE 11 实验十八 迭代与分叉、混沌 【实验目的】 了解逻辑斯谛迭代的基本概念。 了解逻辑斯谛迭代中的分叉和混沌现象。 学习掌握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 逻辑斯谛迭代的蛛网图(

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档