声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1898|回复: 0

[分形与混沌] 关于G-P算法计算关联维数

[复制链接]
发表于 2010-7-18 18:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
以下是我改写的gp算法计算关联维数的程序:
function  [ln_r,ln_C]=G_P(data,tau,m,ss)n=length(data);     % 时间序列长度
    N=n-(m-1)*tau;     % 相空间中点的个数   
for j=1:N      
for i=1:m         
Y(i,j)=data((i-1)*tau+j);     % 相空间重构      
end   
end      
for a=1:N-1      
for b=a+1:N         
D(a,b)=max(abs(Y(:,a)-Y(:,b)));     % 计算相空间中每两点之间的距离      
end   
end
max_D=max(max(D));     % 得到所有点间的最大距离   
D(1,1)=max_D;   min_D=min(min(D));     % 得到所有点间的最短距离   
delt=(max_D-min_D)/ss;     % 得到r的步长
k=1:1:ss      
r=min_D+k*delt;     % r的范围   
sum=0;  
for h=1:N     
for g=h+1:N         
d=norm((Y(:,h)-Y(:,g)),inf);     % 以范数计算重构空间两点间的距离
          site=heaviside(r-d);     % 计算Heaviside函数的值
          sum=sum+site;     
end   
end  
C=2*sum/(N^2);     % 关联函数的值  
CC(k)=log(C);  
rr(k)=log(r);   
CC=log(C);   
rr=log(r);  
plot(rr,CC);     % 画出lnr—lnC(r)关系图   
hold on;
% 以下是最小斜率法拟合曲线求斜率的程序:
function xielv(CC(k),rr(k))
y=polyfit(rr,CC,4);
y1=polyder(y);
y2=polyder(y1);
for k=1:ss   
K(k)=(abs(polyval(y2,rr(k))))/(1+(polyval(y1,rr(k)))^2)^(3/2);
end
min_K=min(K);
a=0;
for aa=1:ss   
if K(aa)==min_K        
a=aa;      
break   
end
end
a2=0;
for i=a:ss   
bb=rr(i)-rr(a);   
cc=abs(bb*polyval(y2,rr(i))/(1+(polyval(y1,rr(i)))^2)^(1/2));   
if cc>=(pi/90)      
a2=i;      
break   
end
end
a1=0;
for p=a:-1:1   
BB=rr(a)-rr(p);   
DD=abs(BB*polyval(y2,rr(i))/(1+(polyval(y1,rr(i)))^2)^(1/2));   
if DD>=(pi/90)        
a1=p;        
break   
end  
end
h=0;
for hh=a1:a2   
h=h+1;   
rrr(h)=rr(hh);   
CCC(h)=CC(hh);
end
KK=polyfit(rrr,CCC,1);
利用Lorenz系统生成的时间序列计算m=3时k=1.6782,而我看其他人算的都是2.0左右,请高手解答一下,程序有问题吗?特别是前半部分另外,这个程序运行大数据很慢,求高手改进。

[ 本帖最后由 6958192460 于 2010-7-18 20:00 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 20:24 , Processed in 0.065032 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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