资源描述:
《迭代与分叉混沌作业.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、开放性实验(十)一、实验题目:迭代与分叉、混沌作业2逻辑斯谛方程可写为标准形式对于不同的r,观察数列的收敛情况。(1),相应的MATLAB代码为>>clear;>>x=0.3;r=0.6;>>fori=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;>>fori=1:30>>x=r*x*(1-x);x1(i)=i;y(i
2、)=x;>>endx1(1)=0.3;y1(12)=0;>>fori=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;>>fori=1:30>>x=r*x*(1-x);x1(i)=i;y(i)=x;>>end>
3、>plot(x1,y,'k-o')计算结果见下图,由图中可知,迭代数列上下震荡,收敛于不动点。为了画出迭代的蛛网图,只需在第一种情况相应的MATLAB代码中将r=0.6给为r=2.8即可。(3),相应的MATLAB代码为>>clear;>>x=0.3;r=3.2;>>fori=1:40>>x=r*x*(1-x);x1(i)=i;y(i)=x;>>end>>plot(x1,y,'k-o')计算结果见下图,由图中可知,经过一段时间调整,迭代数列开始在两个近似为0.51和0.80的值之间震荡。这类震荡称为2-循环。一旦进入这种模式,就容
4、易预测解的未来值。相应的蛛网图为(MATLAB代码略去)。(4),相应的MATLAB代码为>>clear;>>x=0.3;r=3.46;>>fori=1:40>>x=r*x*(1-x);x1(i)=i;y(i)=x;>>end>>plot(x1,y,'k-o')计算结果见下图,由图中可知,经过一段时间调整,迭代数列开始在四个值之间震荡。这类震荡称为4-循环。注意,当参数r的值变化时,从收敛到唯一不动点(1-循环)到4-循环,再从2-循环到4-循环,这样的分裂行为称为分叉(bifurcation)。(5),相应的MATLAB代码为>
5、>clear;>>x=0.3;r=3.55;>>fori=1:100>>x=r*x*(1-x);x1(i)=i;y(i)=x;>>end>>plot(x1,y,'k-o')计算结果见下图,由图中可知,经过一段时间调整,迭代数列开始在八个值之间震荡。这类震荡称为8-循环。(6),相应的MATLAB代码为>>clear;>>x=0.3;r=3.80;>>fori=1:100>>x=r*x*(1-x);x1(i)=i;y(i)=x;>>end>>plot(x1,y,'k-o')计算结果见下图,由图中可知,迭代数列不再呈现稳定的周期性,也
6、不具有任何可预测的模式。迭代数列在区间(0,1)内跳来跳去,而且表现出对初始条件非常敏感的依赖性,称这种状态为混沌(chaos)。为了观察r对迭代格式的影响,将区间(0,4]以步长离散化。对每个离散的r值进行迭代,忽略前50个迭代值,把点显示在坐标平面上。这样形成的图称为Feigenbaum图,它反映了分叉与混沌的基本特性,参考的MATLAB代码为>>clear;>>forj=1:400;>>x=0.3;r=j/100;>>fori=1:100>>x=r*x*(1-x);x1(i)=i;y(i)=x:>>end>>fork=1:5
7、0>>xx(k)=r;yy(k)=y(50+k);>>end>>holdon;plot(xx,yy,'ko')>>end从Feigenbaum图可以看出,当时,0是稳定的不动点;当时,0是排斥点,是稳定的不动点;当时,迭代变为2-周期轨道,是第一分叉点;当时,迭代变为4-周期轨道,是第二分叉点;当时,迭代变为8-周期轨道,是第三分叉点;下面迭代将依次分叉为16-周期,32-周期,64-周期,……,这种分叉形式称为倍周期分叉,相应的分叉点很显然,上面所列参数r的临界值有收敛趋势。事实上也的确如此,它们最后收敛到。收敛序列可表示为式中
8、称为Feigenbaum常数,当时,迭代进入混沌区域。