用Matlab观察分岔与混沌现象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 实验报告

实验目的:用Matlab 观察分岔与混沌现象。

题目:Feigenbaum 曾对超越函数sin()y x λπ=(λ为非负实数)进行了分岔与混沌的研究,试利用迭代格式1sin()k k x x λπ+=,做出相应的Feigenbaum 图

算法设计:

1、因为λ为非负实数,所以试将λ的范围限制在[0,3],制图时x 的坐标限制在[0,3],考虑到y 的值有正有负,所以把y 的坐标限制在[-3,3]。

2、根据课本上给的例题,编写程序代码来绘图。

程序代码:

clear;clf;

hold on

axis([0,3,-3,3]);

grid

for a=0:0.005:3

x=[0.1];

for i=2:150

x(i)=a*sin(pi*x(i-1));

end

pause(0.1)

for i=101:150

plot(a,x(i),'k.');

end

end

图像:

结果分析:在λ取值在[0,0.3]区间内时,y的值保持在0,然后开始上升,在λ取值在0.75附近时,开始分岔为两支。从整体上看,随着λ的值越来越大,所产生的迭代序列越来越复杂,可能会随机地落在区间(-3,3)的任一子区间内。并可能重复,这就是混沌的遍历性。

进一步分析:由于λ的取值空间偏小,考虑扩大其取值范围到[0,6],再进一步观察图像。程序代码如下:

clear;clf;

hold on

axis([0,6,-6,6]);

grid

for a=0:0.05:6

x=[0.1];

for i=2:150

x(i)=a*sin(pi*x(i-1));

end

pause(0.1)

for i=101:150

plot(a,x(i),'k.');

end

end

图像:

分析:由图像可见,随着 取值范围的增大,图像呈现出周期性的特点。

总结:1、当取值范围比较小,不足以发现图像规律时,可以考虑扩大变量的取值范围。

2、由于图像是由大量点构成的,所以在编程的时候注意循环

语句的应用。

相关文档
最新文档