|
楼主 |
发表于 2008-3-29 19:21
|
显示全部楼层
我知道你的意思了。
我现在在算Rossler系统的最大Lyapunov指数谱,但是达不到你上面图形的效果,我把我计算的程序贴一下,请帮助看一下在哪些地方存在问题吧!
系统定义:
function dx=Rossler(t,x);
% Rossler方程[不显含时间t的自治系统]
%
dx(1,1)=-x(2)-x(3);
dx(2,1)=x(1)+x(4)*x(2);
dx(3,1)=x(5)+x(3)*(x(1)-x(6));
dx(4,1)=0;
dx(5,1)=0;
dx(6,1)=0;
求LE
function Rossler_LE
% 定义法求LE
Z=[];
d0=1e-8;
for c=linspace(1,100,3000)
lsum=0;
x=1; y=1; z=1;
x1=1; y1=1; z1=1+d0;
for i=1:100
[T1,Y1]=ode45('Rossler',2,[x;y;z;0.15;0.2;c]);
[T2,Y2]=ode45('Rossler',2,[x1;y1;z1;0.15;0.2;c]);
n1=length(Y1); n2=length(Y2);
x=Y1(n1,1); y=Y1(n1,2); z=Y1(n1,3);
x1=Y2(n2,1); y1=Y2(n2,2); z1=Y2(n2,3);
d1=sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2);
x1=x+(d0/d1)*(x1-x);
y1=y+(d0/d1)*(y1-y);
z1=z+(d0/d1)*(z1-z);
if i>70
lsum=lsum+log(d1/d0);
end
end
Z=[Z lsum/(i-70)];
end
r=linspace(1,100,3000);
plot(r,Z,'-');
hold on;
plot(r,0,'r-');
title('模拟Rossler系统最大lyapunov指数谱')
xlabel('parameter c'),ylabel('lyapunov exponents') |
|