求助:请问谁能帮我修改一下这个lyzpunov指数的程序。
这是我编的二维logistic映射的lyapunov指数的程序,但我不知道哪儿出错了,画的图不对。希望得到帮助,感激不尽。
%x(n+1)=4*u*x(n)*(1-x(n))+0.1*y(n);
%y(n+1)=4*u*y(n)*(1-y(n))+0.1*x(n);
程序:
i=0;
le=zeros(301,3);
for u=0.6:0.001:0.9
i=i+1;
x(1)=0.10;
y(1)=0.11;
l1=0;
l2=0;
for j=1:200
x(j+1)=4*u*x(j)*(1-x(j))+0.1*y(j);
y(j+1)=4*u*y(j)*(1-y(j))+0.1*x(j);
end
for k=1:300
x(k+1)=4*u*x(k)*(1-x(k))+0.1*y(k);
y(k+1)=4*u*y(k)*(1-y(k))+0.1*x(k);
x(k)=x(k+1);
y(k)=y(k+1);
JT=[4*u*(1-2*x(k)),0.1;
4*u*(1-2*y(k)),0.1]
=eig(JT)
d=diag(d);
l1=l1+log(abs(d(1)));
l2=l2+log(abs(d(2)));
k=k+1;
end
le(i,1)=u;
le(i,2)=l1/300;
le(i,3)=l2/300;
end
plot(le(:,1),le(:,2));
hold on; 参考http://forum.vibunion.com/forum/viewthread.php?tid=22173修改吧
[ 本帖最后由 eight 于 2007-2-12 12:29 编辑 ] 我改了,还是不对阿。
有没有高手帮我改一下。
谢谢啊。 改了之后结果也一样,画出来的图不连续。
%x(n+1)=4*u*x(n)*(1-x(n))+0.1*y(n);
%y(n+1)=4*u*y(n)*(1-y(n))+0.1*x(n);
程序:
i=0;
le=zeros(301,3);
for u=0.6:0.001:0.9
i=i+1;
x(1)=0.10;
y(1)=0.11;
l1=0;
l2=0;
for k=1:300
x(k+1)=4*u*x(k)*(1-x(k))+0.1*y(k);
y(k+1)=4*u*y(k)*(1-y(k))+0.1*x(k);
x(k)=x(k+1);
y(k)=y(k+1);
JT=[4*u*(1-2*x(k)),0.1;
4*u*(1-2*y(k)),0.1]
=eig(JT)
d=diag(d);
l1=l1+log(abs(d(1)));
l2=l2+log(abs(d(2)));
k=k+1;
end
le(i,1)=u;
le(i,2)=l1/300;
le(i,3)=l2/300;
end
plot(le(:,1),le(:,2));
hold on; 这可能跟你分析的数据有关,找一个混沌时间序列再分析看看。
页:
[1]