声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: kingsir

[分形与混沌] 求助:计算关联维数的G-P算法

[复制链接]
发表于 2008-6-5 17:05 | 显示全部楼层

回复 45楼 的帖子

我的程序就是这个楼主的程序啊。怎么到我那上边运行的全是0呢?
tau=9;ss=6;
data = [---省略---];
N=length(data);
min_m=2;max_m=9;
for m=min_m:max_m
    Y=reconstitution(data,N,m,tau);%reconstitute state space
    M=N-(m-1)*tau;%the number of points in state space
    for i=1:M-1
        for j=i+1:M
            d(i,j)=max(abs(Y(:,i)-Y(:,j)));%calculate the distance of each two           
        end                                %points in state space  计算状态空间中每两点之间的距离
    end
    max_d=max(max(d));%the max distance of all points   得到所有点之间的最大距离
    d(1,1)=max_d;
    min_d=min(min(d));%the min distance of all points   得到所有点间的最短距离
    delt=(max_d-min_d)/ss;%the stepsize of r            得到r的步长
    for k=1:ss
        r=min_d+k*delt;
        C(k)=correlation_integral(Y,M,r);%calculate the correlation integral
        ln_C(m,k)=log(C(k));%lnC(r)
        ln_r(m,k)=log(r);%lnr
        fprintf('%d/%d/%d/%d\n',k,ss,m,max_m);
    end
    plot(ln_r(m,:),ln_C(m,:));
    hold on;
end
fid=fopen('lnr.txt','w');
fprintf(fid,'%6.2f %6.2f\n',ln_r);
fclose(fid);
fid=fopen('lnC.txt','w');
fprintf(fid,'%6.2f %6.2f\n',ln_C);
fclose(fid);
请帮忙看看。
谢谢!!!
回复 支持 反对
分享到:

使用道具 举报

发表于 2008-6-5 17:22 | 显示全部楼层
我复制你的程序运行过了,没有问题,你再仔细看看是不是你的数据引起的,另外程序中的ss=6;后面的分号应该是拼音状态下的“;”,别的就没有错误了。
发表于 2008-6-5 17:33 | 显示全部楼层

回复 47楼 的帖子

:loveliness:
我晕~~~~~~~~~~~~~~
连改都没有改又运行了一遍,结果出来了。

估计matlab也是非线性时变的:lol 。

谢谢!!
发表于 2008-6-5 21:59 | 显示全部楼层
再狂晕~~~~~~~~~~~~~:@Q

又没有结果了

出来又是一条直线。。。。。。。。。。。

郁闷中--------

[ 本帖最后由 wxl789 于 2008-6-5 22:35 编辑 ]
发表于 2008-6-6 10:30 | 显示全部楼层

回复 14楼 的帖子

请教一下,GP算法求关联维数,参数tau  min_m  max_m  ss该怎么定呐,大哥帮帮忙啊
发表于 2008-6-6 16:13 | 显示全部楼层

回复 50楼 的帖子

对这些参数的确定,在很多论文和参考书里边都是说根据经验确定。

其中tau可以用fft变换求得。
剩下的几个参数一般情况下min_m = 2。  max_m = 5。

ss的取法有帖子讨论,但没有准确的答案。。
期待高手----------------------------------
发表于 2008-7-2 16:18 | 显示全部楼层

回复 6楼 的帖子

主任,我算的结果中怎么老是有数据丢失呀?
ln_r = [0        0        0        0        0        0
           6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337
          6.842        7.5351        7.9406        8.2283        8.4514        8.6337];
ln_C=[0        0        0        0        0        0
          -1.3106        -0.7425        NaN        -0.1297        -0.0353        NaN
          -1.8723        -1.0207        NaN        -0.1892        -0.0542        NaN
          -2.4842        -1.3415        NaN        -0.2685        -0.0796        NaN
          -3.0963        -1.7371        NaN        -0.3735        -0.1089        NaN
          -3.553          -2.0742        NaN        -0.4427        -0.1283        NaN
          -3.9326        -2.4379        -1.0081        -0.5108        -0.1428        NaN
          -4.4067        -2.8381        -1.1563        -0.5673        -0.1683        NaN
          -5.108        -3.2108        -1.2793        -0.6156        -0.1953        0];

ln_r的结果一致,ln_C中有几处结果丢失。每次都是这样的。
我用sunspot_data的数据进行计算的结果中:每次ln_C中有几处结果丢失。
ln_C=[-1.3424     NaN         -0.4565      NaN     -0.1704     NaN     -0.0592     NaN     -0.0151     -0.0055     -0.0029
          -2.4306     NaN         -0.8076      NaN     -0.3026     NaN     -0.103       NaN     -0.0282     -0.0114     -0.0061
          -3.3353     NaN         -1.1313      NaN     -0.44         NaN     -0.1492     NaN     -0.0419     -0.0174     -0.0094
          -4.3706     NaN         -1.4791      NaN     -0.5778     NaN     -0.1997     NaN     -0.0569     -0.024      -0.0129
          -5.4273     NaN         -1.7952      NaN     -0.6889     NaN     -0.229       NaN     -0.0612     -0.0243     -0.0132
          -6.5753     -3.4667   -2.0991      NaN     -0.8           NaN     -0.2594     NaN     -0.0646     -0.0249     -0.0137
          -7.5052     -3.9403    -2.3916     NaN     -0.9236     NaN     -0.2938     NaN     -0.0689     -0.0259     -0.0145
          -8.1887     -4.3539    -2.6701     NaN     -1.0596     NaN     -0.3323     NaN     -0.0739     -0.0272     -0.0152
          -9.3596     -4.7645    -2.9536     NaN     -1.2043     NaN     -0.3775     NaN     -0.0797     -0.0286     -0.0162];
另外,麻烦把Chaos toolbox V2.0也给我发一份吧,我在matlab网站上找不到呀。
dwzhao057@yahoo.com.cn
发表于 2008-7-2 16:28 | 显示全部楼层
我感觉是数据长度不够,而时间延迟取的时候有点偏大。不知道对不对。呵呵
发表于 2008-11-10 18:09 | 显示全部楼层
楼主您好 ,我的emile是cat-0987@163.com,请给我发一个Chaos toolbox V2.0,非常感谢!
发表于 2008-11-10 22:55 | 显示全部楼层
本人初学混沌,请教一下各位混沌工具箱怎么使用啊?
发表于 2008-11-15 17:26 | 显示全部楼层

请问你的问题解决了吗,我也遇到同样的问题,不知怎么办,你如果解决了能不能告诉我啊?
发表于 2008-11-15 18:49 | 显示全部楼层

回复 56楼 jingjingliu 的帖子

polyfit(ln_r(i,:),ln_C(i,:),1),这样就行了!
发表于 2008-11-15 18:51 | 显示全部楼层

回复 53楼 buiesea 的帖子

你是怎么知道他的delay较大呢?
发表于 2008-11-17 15:45 | 显示全部楼层

回复 55楼 shuilan1984ly 的帖子

混沌工具箱里都是求和混沌相关的一些程序,例如有求相空间重构的程序,也有相空间重构参数,例如嵌入维数的程序,还有李亚普诺夫求法的程序,等等,只要自己相应的赋值,就可以运行了,不用做太多改动,很好用
发表于 2008-12-5 08:55 | 显示全部楼层
楼主,我在作论文,看了你们的讨论,我感觉那个Chaos toolbox V2.0不错,能不能给我也发一个,万分感谢
       我的邮箱是didade7777777@yahoo.com.cn
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-27 01:46 , Processed in 0.118243 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表