matlab实验十八__迭代与分叉.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab实验十八__迭代与分叉

实验十八 迭代与分叉、混沌 【实验目的】 1.了解逻辑斯谛迭代的基本概念。 2.了解逻辑斯谛迭代中的分叉和混沌现象。 3.学习、掌握MATLAB软件有关命令。 【实验内容】 在受环境制约的情况下,生物种群的增长变化为变得复杂。例如在一个池塘中,环境可供1500条鱼生存。在鱼的数量远远低于此数时,鱼群的增长接近与指数增长。但是当鱼群数量接近于生存限1500时,由于生态环境逐渐恶化,鱼群增长逐渐变慢,几乎停止增长。如果鱼群数量超过了生存限,由于环境不堪重负,鱼群会出现负增长。试建立鱼群增长的数学模型。 【实验准备】 1.逻辑斯谛模型 2.一些基本概念 3.迭代的MATLAB命令 【实验重点】 1.逻辑斯谛迭代的算法实现 2.逻辑斯谛迭代的应用 【实验难点】 1.逻辑斯谛迭代的应用 【实验方法与步骤】 练习1 考察实验引例中的问题,记为第n代鱼的数量,设鱼的增长量为原来数目的正比函数,而增长率为鱼数量的线性减函数,则可得如下的模型 上式称为逻辑斯谛方程,式中N为环境所容许的最大容量,本例中N=1500,r为自然增长率,不妨设r=0.001,则可得如下的迭代格式 下面选取不同的初值,观察鱼群数量的变化趋势。 (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迭代式的不动点。 (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迭代式的不动点。 (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迭代式的不动点。 (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迭代式的不动点。 练习2 逻辑斯谛方程可写为标准形式 对于不同的r,观察数列的收敛情况。 (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迭代式的不动点。 为了画出迭代的蛛网图,相应的MATLAB代码为 clear; x=0.3;r=0.6; for i=1:30 x=r*x*(1-x);x1(i)=i;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); yi(2*i)=y(i);y1(2*i+1)=y1(2*i); end; x2=0:0.01:1;y3=r.*x2*(1-x2); plot(x1,y1,k-,x2,y2,k-,x2,y3,k-) (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) 计算结果见下图,由图中可知,迭代数列上下震荡,收敛于不动点。 为了画出迭代的蛛网图,只需在第一种情况相应的MATLAB代码中将r=0.6给为r=2.8即可。 (3),相应的MATLAB代码为 clear; x=0.3;r=3.2; for i=1:40 x=r*x*(1-x);x1(i)=i;y(i)=x; end plot(x1,y,k-o) 计算结果见下图,由图中可知,经过一段时间调整,迭代数列开始在两个近似为0.51和0.80的值之间震荡。这类震荡称为2-循环。一旦进入这种模式,就容易预测解的未来值。 相应的蛛网图为(MATLAB代码略去)。 (4),相应的MATLAB代码为 clear; x=0.3;r=3.46; for i=1:40 x=r*x*(1-x);x1(i)=i;y(i)=x; end plot(x1,y,k-o) 计算结果见下图,由图中可知,经过一段时间调整,迭代数列开始在四个值之间震荡。这类震荡称为4-循环。 注意,

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档