⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wolf_3dlyapunov.m

📁 基于Wolf方法计算Lyapunov指数
💻 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 + -