?? main_gp_algorithm.m
字號:
% G-P 算法求關聯維(輸入時間序列數據)% 使用平臺 - Matlab6.5 / Matlab7.0% 作者:陸振波,海軍工程大學% 歡迎同行來信交流與合作,更多文章與程序下載請訪問我的個人主頁% 電子郵件:luzhenbo@yahoo.com.cn% 個人主頁:http://luzhenbo.88uu.com.cnclcclearclose all%---------------------------------------------------% 產生 Lorenz 時間序列% dx/dt = sigma*(y-x)% dy/dt = r*x - y - x*z% dz/dt = -b*z + x*ysigma = 10; % Lorenz方程參數r = 28; b = 8/3; y = [-1;0;1]; % 起始點 (3x1 的列向量)h = 0.01; % 積分時間步長k1 = 10000; % 前面的迭代點數k2 = 3000; % 后面的迭代點數z = LorenzData(y,h,k1+k2,sigma,r,b);x = z(k1+1:end,1); % 時間序列(列向量)x = normalize_1(x); % 信號歸一化到均值為 0,方差為 1%------------------------------------------------------disp('---------- GP算法求關聯維 ----------');delta = 0.5;ln_r = [-4:delta:3]';r_vector = exp(ln_r);m_vector = [1:4]'; % 嵌入維 tau = 14; % 時延p = 1; % 限制短暫分離,大于序列平均周期(不考慮該因素時 p = 1) tic % m_vector,r_vector 必須為列向量ln_Cr = log(CorrelationIntegral(x,tau,m_vector,r_vector,p)); toc%------------------------------------------------------% 作圖figure(1)plot(ln_r,ln_Cr,'+-');grid;xlabel('ln r'); ylabel('ln C(r)');legend('m=1','m=2','m=3','m=4')%------------------------------------------------------% 擬合線性區域LinearZone = [1:9];F = polyfit(ln_r(LinearZone),ln_Cr(LinearZone,end),1);CorrelationDimension = F(1)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -