用Matlab观察分岔与混沌现象
- 格式:docx
- 大小:28.64 KB
- 文档页数:3
用M a t l a b观察分岔与
混沌现象
Company number:【0089WT-8898YT-W8CCB-BUUT-202108】
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::3
x=[];
for i=2:150
x(i)=a*sin(pi*x(i-1));
end
pause
for i=101:150
plot(a,x(i),'k.');
end
end
图像:
结果分析:在λ取值在[0,]区间内时,y 的值保持在0,然后开始上升,在λ取值在附近时,开始分岔为两支。从整体上看,随着λ的值越来越大,所产生的迭代序列越来越复杂,可能会随机地落在区间(-3,3)的任一子区间内。并可能重复,这就是混沌的遍历性。
进一步分析:由于λ的取值空间偏小,考虑扩大其取值范围到[0,6],再进一步观察图像。程序代码如下:
clear;clf;
hold on
axis([0,6,-6,6]);
grid
for a=0::6
x=[];
for i=2:150
x(i)=a*sin(pi*x(i-1));
end
pause
for i=101:150
plot(a,x(i),'k.');
end
end
图像:
分析:由图像可见,随着λ取值范围的增大,图像呈现出周期性的特点。总结:1、当取值范围比较小,不足以发现图像规律时,可以考虑扩大变量的取值范围。
2、由于图像是由大量点构成的,所以在编程的时候注意循环语句的应
用。