引言自20世纪60年代,洛伦兹发现混沌现象以来,混沌理论研究一直受到普遍的关注。随着混沌研究的不断发展,人们开始把目光聚焦在控制混沌和利用混沌的研究上。控制和利用混沌的研究都是基于一些典型的混沌系统来进行的。因此,对这些混沌系统进行研究及Matlab仿真是非常必要的,可以为进一步研究混沌系统及控制和利用混沌提供简便的程序方法。1Logistic映射Logistic映射,在19世纪中叶由荷兰生物学数学家Verhulst提出,表达式为:xn+1=xn(1-xn)(xn[0,1],[0,4],n=0,1,…)(1)对于每个确定的m,可以得到相应的一系列x0,x1,…,xn。通过对取值的讨论,我们不难看出:当0<1时,系统动力学形态非常简单,只有一个周期点x0=0;当1<<3时,系统动力学形态也比较简单,有两个周期点0,;当34时,系统动力学形态十分复杂,系统由倍周期通向混沌。下面用Matlab对Logistic映射进行仿真。设系统初值为0.6,迭代200次,分别选取=0.5、2、3.2、3.6、4,用matlab编程仿真,画出对应不同时的xn。Matlab仿真程序如下:clearall;closeall;图1.1Logistic映射mu=0.5;x=0.6*ones(1,200);forn=1:200x(n+1)=mu*x(n)*(1-x(n));endplot(x(1,:),'k','markersize',10);xlabel('n');ylabel('x(n)');title('logistic(mu=0.5)');得到的仿真结果:(图1.1)进一步研究m的不断变化对系统的影响。设系统初值为0.6,对m从2.6变化到4,画出Logistic迭代的极限形态图,如图1.2所示,随着m的变化,系统的动力学形态不断变化,最后出现混沌状态。Matlab真程序如下:mu=2.6:3e-4:4;k=length(mu);x=linspace(0.6,0,k);forn=1:kx(n+1)=mu(n)*x(n)*(1-x(n));plot(mu,x(1,:),'k.');xlabel('mu');ylabel('x(n)');end2Lorenz系统混沌的最早实例是由美国麻省理工学院的气象学家Lorenz在1963年研究大气运动时描述的。他提出了著名的Lorenz方程组:(2)设系统初始状态为[-1,0,1],=16,b=4,r=45.92,迭代10000次,对系统进行仿真,得到系统相图如图2所示。Matlab仿真程序如下:sigma=16;b=4;r=45.92;y=[-1,0,1];h=0.01;z=LorenzData(y,h,10000,sigma,r,b);z=z(1:end,:);X=z(:,1);Y=z(:,2);Z=z(:,3);plot3(X,Y,Z);xlabel('x');ylabel('y');zlabel('z');3Henon映射1976年,法国天文学家Henon从研究球状呈团以及Lorenz系统中得到启发,利用数值方法研究了迭代映射(3)一般的Henon映射模型为:(4)当(4)中=1.4,b=0.3,x0=y0=0.4时,系统产生混沌。取初值为x0=y0=0.4,=1.4,b=0.3,进行10000次迭代,画出系统的形态图,如图3所示。Matlab仿真程序如下:a=1.4;b=0.3;x(1)=0.4;y(1)=0.4;fori=1:10000x(i+1)=1-a*x(i)^2+y(i);y(i+1)=b*x(i);endplot
典型混沌系统matlab仿真实现,典型混沌系统的Matlab仿真实现
最新推荐文章于 2022-12-26 05:24:39 发布