回复 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);
请帮忙看看。
谢谢!!! 我复制你的程序运行过了,没有问题,你再仔细看看是不是你的数据引起的,另外程序中的ss=6;后面的分号应该是拼音状态下的“;”,别的就没有错误了。
回复 47楼 的帖子
:loveliness:我晕~~~~~~~~~~~~~~
连改都没有改又运行了一遍,结果出来了。
估计matlab也是非线性时变的:lol 。
谢谢!! 再狂晕~~~~~~~~~~~~~:@Q
又没有结果了
出来又是一条直线。。。。。。。。。。。
郁闷中--------
[ 本帖最后由 wxl789 于 2008-6-5 22:35 编辑 ]
回复 14楼 的帖子
请教一下,GP算法求关联维数,参数taumin_mmax_mss该怎么定呐,大哥帮帮忙啊回复 50楼 的帖子
对这些参数的确定,在很多论文和参考书里边都是说根据经验确定。其中tau可以用fft变换求得。
剩下的几个参数一般情况下min_m = 2。max_m = 5。
ss的取法有帖子讨论,但没有准确的答案。。
期待高手----------------------------------
回复 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 我感觉是数据长度不够,而时间延迟取的时候有点偏大。不知道对不对。呵呵 楼主您好 ,我的emile是cat-0987@163.com,请给我发一个Chaos toolbox V2.0,非常感谢! 本人初学混沌,请教一下各位混沌工具箱怎么使用啊? 原帖由 yeucd 于 2008-5-23 13:51 发表 http://www.chinavib.com/forum/images/common/back.gif
请问有最小二乘拟合的程序么?
想在一个限定的区域内做拟合,不知道该怎么办
请问你的问题解决了吗,我也遇到同样的问题,不知怎么办,你如果解决了能不能告诉我啊?
回复 56楼 jingjingliu 的帖子
polyfit(ln_r(i,:),ln_C(i,:),1),这样就行了!回复 53楼 buiesea 的帖子
你是怎么知道他的delay较大呢?回复 55楼 shuilan1984ly 的帖子
混沌工具箱里都是求和混沌相关的一些程序,例如有求相空间重构的程序,也有相空间重构参数,例如嵌入维数的程序,还有李亚普诺夫求法的程序,等等,只要自己相应的赋值,就可以运行了,不用做太多改动,很好用 楼主,我在作论文,看了你们的讨论,我感觉那个Chaos toolbox V2.0不错,能不能给我也发一个,万分感谢我的邮箱是didade7777777@yahoo.com.cn