用Matlab观察分岔与混沌现象
- 格式:doc
- 大小:41.50 KB
- 文档页数:2
M a t l a b 实验报告 实验目的:用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、由于图像是由大量点构成的,所以在编程的时候注意循环
语句的应用。