📄 c_c_method_luzhenbo2.asv
字号:
clcclearclose all%---------------------------------------------------%-----------------------------------------------------------------------% 参数初始化maxLags = 300;m_vector = 2:5;sigma = std(X);r_vector = sigma/2*[1:4];S_mean = zeros(1,maxLags);Sj = zeros(1,length(r_vector));delta_S_mean = zeros(1,maxLags);delta_S = zeros(length(m_vector),maxLags);%-----------------------------------------------------------------------% 原C-C方法for t = 1:maxLags t temp = 0; for i = 1:length(m_vector) for j = 1:length(r_vector) m = m_vector(i); r = r_vector(j); S = ccFunction(m,X,r,t); % 文献中的标准算法 - 计算S2(m,N,r,t) temp = temp + S; Sj(j) = S; end delta_S(i,t) = max(Sj)-min(Sj); end % 参见 <<混沌时间序列分析及应用>> P69 式(3.31) S_mean(t) = temp/(length(m_vector)*length(r_vector)); delta_S_mean = mean(delta_S);endS_cor = delta_S_mean + abs(S_mean);S2_mean = S_mean;delta_S2_mean = delta_S_mean;S2_cor = S_cor;%-----------------------------------------------------------------------% 改进的原C-C方法k = 50; % 关联积分分块数for t = 1:maxLags t temp = 0; for i = 1:length(m_vector) for j = 1:length(r_vector) m = m_vector(i); r = r_vector(j); S = ccFunction_luzhenbo(m,X,r,t,k); % 我的算法 - 计算S1(m,N,r,t) temp = temp + S; Sj(j) = S; end delta_S(i,t) = max(Sj)-min(Sj); end % 参见 <<混沌时间序列分析及应用>> P69 式(3.31) S_mean(t) = temp/(length(m_vector)*length(r_vector)); delta_S_mean = mean(delta_S);endS_cor = delta_S_mean + abs(S_mean);S1_mean = S_mean;delta_S1_mean = delta_S_mean;%-----------------------------------------------------------------------% 原C-C方法结果图figure(1) subplot(211)plot(1:maxLags,delta_S2_mean);grid;title('原C-C方法结果图');subplot(212)plot(1:maxLags,S2_cor);grid;% 改进的C-C方法结果图figure(2)subplot(211)plot(1:maxLags,delta_S1_mean);grid;title('改进的C-C方法结果图');subplot(212)plot(1:maxLags,abs(S1_mean-S2_mean));grid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -