www.gusucode.com > 混沌时间序列工具箱 > 混沌时间序列工具箱/ChaosToolbox1p0_trial/LargestLyapunov_Rosenstein/Main_LargestLyapunov_Rosenstein2.m

    % 计算混沌时间序列 Lyapunov 指数 - Lorenz 吸引子
% 使用平台 - Matlab6.5 / Matlab7.0
% 作者:陆振波,海军工程大学
% 欢迎同行来信交流与合作,更多文章与程序下载请访问我的个人主页
% 电子邮件:luzhenbo@yahoo.com.cn
% 个人主页:http://luzhenbo.88uu.com.cn


clc
clear
close all

%-----------------------------------------------------------------
% 产生 Lorenz 混沌时间序列

sigma = 16;             % Lorenz 方程参数 a
b = 4;                  %                 b
r = 45.92;              %                 c            

y = [-1,0,1];           % 起始点 (1 x 3 的行向量)
h = 0.01;               % 积分时间步长

k1 = 30000;             % 前面的迭代点数
k2 = 6000;              % 后面的迭代点数

z = LorenzData(y,h,k1+k2,sigma,r,b);
x = z(k1+1:end,1);      % 时间序列

%-----------------------------------------------------------------
% Lorenz 入口参数

tau = 10;               % 时延
m = 3;                  % 嵌入维
taumax = 300;           % 最大离散步进时间
P = 100;                 % 序列平均周期
fs = 1/h;               % 采样频率

%-----------------------------------------------------------------

Y1 = Lyapunov_rosenstein_2(x,tau,m,taumax,P,fs);

figure
subplot(211); plot(Y1); grid; xlabel('i'); ylabel('y(i)'); title('Lorenz')
subplot(212); plot(diff(Y1)); grid; xlabel('n'); ylabel('slope');

linear_zone = [50:200]';  % 线性区域
F1 = polyfit(linear_zone,Y1(linear_zone),1);

Lyapunov_2 = F1(1)                  % 以 2 为底的指数
Lyapunov_e = Lyapunov_2/1.4427      % 以 e 为底的指数