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

    % Takens 算法求关联维
% 使用平台 - Matlab6.5 / Matlab7.0
% 作者:陆振波,海军工程大学
% 欢迎同行来信交流与合作,更多文章与程序下载请访问我的个人主页
% 电子邮件:luzhenbo@yahoo.com.cn
% 个人主页:http://luzhenbo.88uu.com.cn

clc
clear
close all

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

sigma = 10;          % Lorenz方程参数
r = 28;               
b = 8/3;          

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

k1 = 6000;           % 前面的过渡点数
k2 = 2000;           % 后面的迭代点数

z = LorenzData(y,h,k1+k2,sigma,r,b);    % 用四阶 Runge-Kutta 法产生 k1+k2 个点
X = z(k1+1:end,1);                      % 去掉前面 k1 个过渡点

X = normalize_1(X);  % 归一化到均值为 0,振幅为 1

%---------------------------------------------------
% 相空间重构

tau = 14;
m = 3;
[xn] = PhaSpaRecon(X,tau,m);

xn = xn';       % 重构相空间点集,每一行为一个点
r = 0.04;       % r 相对于吸引子直径的大小,(0,1)之间

%---------------------------------------------------
% 调用 mex 函数

Dim = CorrelationDimension(xn,r)