sssssxxxxx921 发表于 2007-8-23 09:44

呵呵   看来得自己好好破解了

hohoo 发表于 2007-8-24 10:16

function =C_CMethod(data)
%this function calculate time delay and embedding demension with C-C
%Method,which proved by H.S.Kim
%skyhawk&flyinghawk
% %****************调试程序段****************************
% clear all;
% data=load('f:/sunpot/year sunpot number.txt');
% %************************************************

N=length(data);
max_d=20;%the maximum value of the time delay

sigma=std(data);%calcute standard deviation s_d

for t=1:max_d
    t
    s_t=0;
    delt_s_s=0;
    for m=2:5
      s_t1=0;
      for j=1:4
            r=sigma*j/2;
            data_d=disjoint(data,N,t);%将时间序列分解成t个不相交的时间序列
            =size(data_d);
            s_t3=0;
            for i=1:t
                i
                Y=data_d(i,:);
                C_1(i)=correlation_integral(Y,N_d,r);%计算C(1,N_d,r,t)
                X=reconstitution(Y,N_d,m,t);%相空间重构
                N_r=N_d-(m-1)*t;
                C_I(i)=correlation_integral(X,N_r,r);%计算C(m,N_r,r,t)
                s_t3=s_t3+(C_I(i)-C_1(i)^m);%对t个不相关的时间序列求和
            end
            s_t2(j)=s_t3/t;
            s_t1=s_t1+s_t2(j);%对rj求和
      end
      delt_s_m(m)=max(s_t2)-min(s_t2);%求delt S(m,t)
      delt_s_s=delt_s_s+delt_s_m(m);%delt S(m,t)对m求和
      s_t0(m)=s_t1;
      s_t=s_t+s_t0(m);%S对m求和
    end
    s(t)=s_t/16;
    delt_s(t)=delt_s_s/4;
    s_cor(t)=delt_s(t)+abs(s(t));
   
end
fid=fopen('result.txt','w');
fprintf(fid,'%f %f %f %f/n',t,s(t),delt_s(t),s_cor(t));
fclose(fid);
t=1:max_d;
plot(t,s,t,delt_s,'.',t,s_cor,'*')

sssssxxxxx921 发表于 2007-8-24 12:13

回复 #47 hohoo 的帖子

data_d=disjoint(data,N,t);%将时间序列分解成t个不相交的时间序列
          C_1(i)=correlation_integral(Y,N_d,r);%计算C(1,N_d,r,t)
                X=reconstitution(Y,N_d,m,t);%相空间重构
                C_I(i)=correlation_integral(X,N_r,r);%计算C(m,N_r,r,t)
               
这几个子函数是LET工具箱的吗   我怎么运行不了啊

liuxiangf 发表于 2007-8-24 14:00

楼主实在是太伟大了,向你致以崇高的革命敬礼!

swallowlxy 发表于 2007-8-29 21:08

最常用的lypunov指数小数据量计算方法能不能给一个?

swallowlxy 发表于 2007-8-30 22:23

原帖由 hohoo 于 2007-8-24 10:16 发表 http://www.chinavib.com/forum/images/common/back.gif
function =C_CMethod(data)
%this function calculate time delay and embedding demension with C-C
%Method,which proved by H.S.Kim
%skyhawk&flyinghawk
% %****************调试程序段 ...

为什么我调用这个程序到这一句就运行不下去呢?拜托高人帮忙看看。我这里给1000个数据的时间序列数据文件。
C_1(i)=correlation_integral(Y,N_d,r);%计算C(1,N_d,r,t)

[ 本帖最后由 swallowlxy 于 2007-8-30 22:27 编辑 ]

octopussheng 发表于 2007-9-3 08:51

回复 #51 swallowlxy 的帖子

这是因为你缺少一个correlation_integral.m文件,也就是你没有这个函数,如何调用呢?

octopussheng 发表于 2007-9-3 08:53

原帖由 sssssxxxxx921 于 2007-8-24 12:13 发表 http://www.chinavib.com/forum/images/common/back.gif
data_d=disjoint(data,N,t);%将时间序列分解成t个不相交的时间序列
          C_1(i)=correlation_integral(Y,N_d,r);%计算C(1,N_d,r,t)
                X=reconstitution(Y,N_d,m,t);%相空间重构
         ...


这几个当然不是LET工具箱的函数了,采用的理论方法都不相同的。

这个是对时间序列重构相空间的方法!你看看小数据量方法的介绍就明白了

yufeiqun 发表于 2007-12-31 22:44

相空间重构函数的改进

文中提出的相空间重构采用二重循环,效率比较低
最近做了个CC算法程序,采用的重构算法语句为:
%% 重构相空间
% x为数据,m嵌入维数 t时间延迟
N=length(x);
M=N-(m-1)*t;
xv=zeros(m,M);
for ii=1:m
    xv(ii,:)=x([((ii-1)*t+1):1:((ii-1)*t+M)]);
end

tzl1963 发表于 2008-1-1 14:40

楼主能不能用文本文件的方式传上来哟,我们好下载了仔细地看噻!

octopussheng 发表于 2008-1-2 16:09

回复 #55 tzl1963 的帖子

这种方式有问题么?不是一样可以看嘛!

tzl1963 发表于 2008-1-2 18:18

原帖由 octopussheng 于 2008-1-2 16:09 发表 http://www.chinavib.com/forum/images/common/back.gif
这种方式有问题么?不是一样可以看嘛!

看起来吃力,想把你的东东验证一把,这个表达方式就麻烦了噻,你怕别人盗窃你的成果嗦,要当盗贼十把锁都锁不住的。

JulianChin 发表于 2008-1-2 19:49

回复 #54 yufeiqun 的帖子

相空间重构不占资源,最要命的是作关联积分,2000个数据算G_P就能郁闷死你

yufeiqun2008 发表于 2008-1-2 21:11

回复 #58 JulianChin 的帖子

我的感觉还行啊 呵呵...我都采用一重循环,算3000个数据的关联积分时间开销还能容忍

octopussheng 发表于 2008-1-4 10:16

原帖由 tzl1963 于 2008-1-2 18:18 发表 http://www.chinavib.com/forum/images/common/back.gif


看起来吃力,想把你的东东验证一把,这个表达方式就麻烦了噻,你怕别人盗窃你的成果嗦,要当盗贼十把锁都锁不住的。



这有什么好怕盗窃的。

我这里都贴出来了,你要用的话可以复制、粘贴,我不觉得这有什么吃力的!如果你还是这样想的话,我也没有办法!

很多程序代码都是共享的,我有什么好怕的!
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: 【总结】Lyapunov指数的计算方法