6958192460 发表于 2010-7-20 21:06

无标度区间的matlab程序

G_P方法求关联维时,确定无标度区间的matlab程序怎么编啊?最好是三折线法的。求高手啊,其他方法也可以。
以下是我编的,参考的是《地震数据关联维的快速计算方法》。能运算,但是肯定不正确,请高手指正
function KK=three_line(ss,d,CC,rr)
%ss 插入点数
%d 重构后空间数值
%CC lnC的值
%rr lnr的值
d(d==0)=[];
p=log(d);
x=(max(p)-min(p))/ss;
B1=0;
for b=1:ss-1
   B1=B1+CC(b)+CC(b+1);
end
A1=abs(0.5*B1*x);
G=inf;
min_n=0;
max_n=0;
for n1=2:ss-1   
for n2=n1+1:ss-1      
S1=abs(0.5*(CC(1)+CC(n1))*(rr(1)-rr(n2)));      
S2=abs(0.5*(CC(n1)+CC(n2))*(rr(n1)-rr(n2)));      
S3=abs(0.5*(CC(n2)+CC(ss))*(rr(n2)-rr(ss)));      
A2=S1+S2+S3;      
G1=A2-A1;      
if G>G1         
G=G1;      
min_n=n1;         
max_n=n2;      
end   
end
end
h=0;
for hh=min_n:max_n   
h=h+1;   
rrr(h)=rr(hh);   
CCC(h)=CC(hh);
end
KK=polyfit(rrr,CCC,1);

[ 本帖最后由 6958192460 于 2010-7-20 21:09 编辑 ]
页: [1]
查看完整版本: 无标度区间的matlab程序