📄 wolf_3dlyapunov.m
字号:
function lyapunov=wolf_3Dlyapunov(t,Y)
% 用wolf方法求三维实验数据最大李雅普洛夫指数
%
% 输入:演化时间间隔t,3维数据Y(:,1:3)
% 输出:lyapunov指数
lyapunov=0;
YL=length(Y);
% 不同的系统以下两个参数可能要适当的改变
MaxFL=0.5;
MaxEL=2.5;
% MaxFL=0.05;
% MaxEL=2;
fiducial1=1;
fiducial2=3;
for i=4:YL
if (sum(abs(Y(fiducial1,:)-Y(i,:)))<MaxFL)
fiducial2=i;
break;
end
end
evolveStep=1;
L1=norm(Y(fiducial1,:)-Y(fiducial2,:));
L2=norm(Y(fiducial1+evolveStep,:)-Y(fiducial2+evolveStep,:));
while (1)
if (fiducial1+evolveStep==YL)||(fiducial2+evolveStep==YL)
lyapunov=lyapunov+log(L2/L1);
fiducial1=fiducial1+evolveStep;
break;
elseif L2>MaxEL
lyapunov=lyapunov+log(L2/L1);
fiducial1=fiducial1+evolveStep;
fiducial2=fiducial2+evolveStep;
fiducial2=findreplace(Y,fiducial1,fiducial2,MaxFL);
evolveStep=1;
L1=norm(Y(fiducial1,:)-Y(fiducial2,:));
else
evolveStep=evolveStep+1;
end
L2=norm(Y(fiducial1+evolveStep,:)-Y(fiducial2+evolveStep,:));
end
fiducial1=fiducial1-1;
lyapunov=lyapunov/(t*fiducial1);
%---------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -