c语言混沌序列,混沌时间序列的C-C法计算太阳黑子月度数据的tau和tw与书上的不同,咋么办?...

该博客介绍了通过C_CMethod函数对太阳黑子时间序列进行混沌分析的过程,包括时间序列的长度计算、标准差、相关积分的计算以及时间延迟和时间窗口的选择。程序实现了吕金虎书中所描述的方法,并展示了1753年至2001年间太阳黑子数据的分析结果,但发现得到的参数m与书中的不同,引发了对于参数调整的疑问。
摘要由CSDN通过智能技术生成

%C-C法子函数

function [Smean,Sdeltmean,Scor,tau,tw]=C_CMethod(data,max_d)               %原理参考:吕金虎-混沌时间序列分析及其应用——P67-70

N=length(data);                                                            %时间序列的长度

Smean=zeros(1,max_d);                                                      %初始化矩阵

Scmean=zeros(1,max_d);                                                     %C_CMethod 经使用后证实可以运行,不过其中有一个小错误,在初始化矩阵的位置要把Scmean改为Sdeltmean

Scor=zeros(1,max_d);

sigma=std(data);                                                           %计算序列的标准差

for t=1:max_d                                                              %计算Smean,Sdeltmean,Scor

S=zeros(4,4);

Sdelt=zeros(1,4);

for m=2:5

for j=1:4

r=sigma*j/2;

Xdt=disjoint(data,t);                                          %将时间序列data分解成t个不相交的时间序列

s=0;

for tau=1:t

N_t=floor(N/t);                                            %分成的子序列长度

Y=Xdt(:,tau);                                              %每个子序列

Cs1(tau)=0;                                                %计算C(1,N/t,r,t),相当于调用Cs1(tau)=correlation_integral1(Y,r)

for ii=1:N_t-1

for jj=ii+1:N_t

d1=abs(Y(ii)-Y(jj));                               %计算状态空间中每两点之间的距离,取无穷范数

if r>d1

Cs1(tau)=Cs1(tau)+1;

end

end

end

Cs1(tau)=2*Cs1(tau)/(N_t*(N_t-1));

Z=reconstitution(Y,m,1);                                   %相空间重构

M=N_t-(m-1);

Cs(tau)=correlation_integral(Z,M,r);                       %计算C(m,N/t,r,t)

s=s+(Cs(tau)-Cs1(tau)^m);                                  %对t个不相关的时间序列求和

end

S(m-1,j)=s/tau;

end

Sdelt(m-1)=max(S(m-1,  :  ))-min(S(m-1,  :  ));                            %差量计算

end

Smean(t)=mean(mean(S));                                                %计算平均值

Sdeltmean(t)=mean(Sdelt);                                              %计算平均值

Scor(t)=abs(Smean(t))+Sdeltmean(t);

end

for i=2:length(Sdeltmean)-1                                                %寻找时间延迟tau:即Sdeltmean第一个极小值点对应的t

if Sdeltmean(i)

tau=i;

break;

end

end

for i=1:length(Scor)                                                       %寻找时间窗口tw:即Scor最小值对应的t

if Scor(i)==min(Scor)

tw=i;

break;

end

end

%**************************************************************************

我的程序:

clc;clear;close all;

data=xlsread('Sunspot_17531_200112.xlsx');

d0=data(:,3);

figure;plot(d0,'r');grid on;xlabel('时间/月');

ylabel('太阳黑字数');title('1753年1月--2001年12月太阳黑子曲线图');

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

[Smean,Sdeltmean,Scor,tau,tw]=C_CMethod(d0,400);                           %tau=31,tw=81,m=4这样的结果与书上m=8不相符合?????

这个怎么办呢?

附件是所有涉及到的程序(其中xlsx为太阳黑子月度数据,数据的第三列是月度数据,第四列是方差)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、该工具箱包括了混沌时间序列分析与预测的常用方,有: (1)产生混沌时间序列(chaotic time series) Logistic映射 - \ChaosAttractors\Main_Logistic.m Henon映射 - \ChaosAttractors\Main_Henon.m Lorenz吸引子 - \ChaosAttractors\Main_Lorenz.m Duffing吸引子 - \ChaosAttractors\Main_Duffing.m Duffing2吸引子 - \ChaosAttractors\Main_Duffing2.m Rossler吸引子 - \ChaosAttractors\Main_Rossler.m Chens吸引子 - \ChaosAttractors\Main_Chens.m Ikeda吸引子 - \ChaosAttractors\Main_Ikeda.m MackeyGLass序列 - \ChaosAttractors\Main_MackeyGLass.m Quadratic序列 - \ChaosAttractors\Main_Quadratic.m (2)求时延(delay time) 自相关 - \DelayTime_Others\Main_AutoCorrelation.m 平均位移 - \DelayTime_Others\Main_AverageDisplacement.m (去偏)复自相关 - \DelayTime_Others\Main_ComplexAutoCorrelation.m 互信息 - \DelayTime_MutualInformation\Main_Mutual_Information.m (3)求嵌入维(embedding dimension) 假近邻 - \EmbeddingDimension_FNN\Main_FNN.m Cao方 - \EmbeddingDimension_Cao\Main_EmbeddingDimension_Cao.m (4)同时求时延与嵌入窗(delay time & embedding window) CC方 - \C-C Method\Main_CC_Luzhenbo.m (5)求关联维(correlation dimension) GP算 - \CorrelationDimension_GP\Main_CorrelationDimension_GP.m (6)求K熵(Kolmogorov Entropy) GP算 - \KolmogorovEntropy_GP\Main_KolmogorovEntropy_GP.m STB算 - \KolmogorovEntropy_STB\Main_KolmogorovEntropy_STB.m (7)求最大Lyapunov指数(largest Lyapunov exponent) 小数据 - \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein1.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein2.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein3.m \LargestLyapunov_Rosenstein\Main_LargestLyapunov_Rosenstein4.m (8)求Lyapunov指数谱(Lyapunov exponent spectrum) BBA算 - \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA1.m \LyapunovSpectrum_BBA\Main_LyapunovSpectrum_BBA2.m (9)求二进制图形的盒子维(box dimension)和广义维(genealized dimension) 覆盖 - \BoxDimension_2D\Main_BoxDimension_2D.m - \GeneralizedDimension_2D\Main_GeneralizedDimension_2D.m (10)求时间序列的盒子维(box dimension)和广义维(genealized dimension) 覆盖 - \BoxDimension_TS\Main_BoxDimension_TS.m - \GeneralizedDimension_TS\Main_GeneralizedDimension_TS.m (11)混沌时间序列预测(chaotic time series prediction) RBF神经网络一步预测 - \Prediction_RBF\Main_RBF.m RBF神经网络多步预测 - \Prediction_RBF\Main_RBF_MultiStepPred.m Volterra级数一步预测 - \Prediction_Volterra\Main_Volterra.m Volterra级数多步预测 - \Prediction_Volterra\Main_Volterra_MultiStepPred.m (12)产生替代数据(Surrogate Data) 随机相位 - \SurrogateData\Main_SurrogateData.m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值