Henon系统的分岔与Lyapunov指数谱的Matlab实现
由于我现在在香港,还没有安顿下来,并且手头上没有相关的资料和软件,所以也就没有时间和没有工具运行这两个程序,但是我相信这两个程序应该是可以的,所以无法给大家得到图像,很多研友纷纷给我要这个二维离散系统的程序,我就贴上了!另外,对于非连续型的系统也是这样的求法,我试验过Lozi系统的,只不过是加上一个判断项而已!我若找到,稍后奉上!
% Author: Thomas Lee
% E-mail: lixf1979@126.com
% Corresponding: School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
%%%%%%%一个图像上分别上下画LEs和BD的程序!
%画Henon系统的随着参数a变化的指数程序!
ly1=[];ly2=[];C=[];x=0;y=0;w=eye(2,2);
for a=0:0.001:1.4
b=0.3;
N=1000; % NUMBER OF ITERATIONS
sl1=0; sl2=0;
for i=1:N
xprev=x;
yprev=y;
x=a-xprev.*xprev+b*yprev;
y=xprev;
jac=[-2*xb; 1 0]; %%% JACOBIAN OF THE HENON MAP
F=jac*w;
=qr(F);
sl1 = sl1 + log(abs(diag(r)));
l1=sl1/N;
end
if N==1000
ly1=;ly2=;
C=;
%fprintf(1,'l1=%f\n',ly1);
end
end
subplot(2,1,1)
hold on
a=0:0.001:1.4;
line(a,0,'Color','k','LineWidth',4)
plot(C,ly1,'k',C,ly2,'k')
grid
%画Henon系统的分岔图程序!
b=0.3;
n=2000;
x=0;
y=0;
a=0:0.001:1.4;
for i=1:n/100
xprev=x;
yprev=y;
x=a-xprev.*xprev+b*yprev;
y=xprev;
end
for i=1:n
xprev=x;
yprev=y;
x=a-xprev.*xprev+b*yprev;
y=xprev;
if i>1990
hold on
subplot(2,1,2)
plot(a,x,'k.','markersize',1);
title('Henon Bifurcation');
end
end
grid
%%%%%%%求取最大LE的程序
clear all
d0=1e-12;C=[];Le=[];
for i=1:639
c=i/320;
x1=0;y1=0;
x2=0;y2=d0;
lsum=0;
for j=1:500
x3=1-c*x1*x1+0.2*y1;
y1=x1;
x1=x3;
x4=1-c*x2*x2+0.2*y2;
y2=x2;
x2=x4;
d1=sqrt((x2-x1)^2+(y2-y1)^2);
x2=x1+(d0/d1)*(x2-x1);
y2=y1+(d0/d1)*(y2-y1);
if j>100
lsum=lsum+log(d1/d0);
end
end
le=lsum/(j-100);
C=;Le=;
end
plot(C,Le,'k') 您有没有画吸引盆的程序啊?谢谢您
页:
[1]