G-P算法中的拟合代码问题
使用G-P算法算出了lnc、lnr图,但是不会进行拟合,无法求出关联维数。请热心人帮忙看下,能有拟合的代码更好,希望有人能够指点一二。本人新手,谢谢。代码如下:
data=load('example.txt');
N=length(data);
tau=6;
min_m=2;
max_m=10;
ss=20;
for m=min_m:max_m
Y=reconstitution(data,N,m,tau);%重构相空间Y
M=N-(m-1)*tau;%重构相空间中的嵌入点数
%
for i=1:M-1
for j=i+1:M
d(i,j)=max(abs(Y(:,i)-Y(:,j)));%计算相点Y(i)和Y(j)的距离
end %j>M 循环结束
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
for k=1:ss
r=min_d+k*delt;
C(k)=correlation_integral(Y,M,r);%计算关联积分
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');%打开lnr.txt,'w'表示对打开的文件写数据
fprintf(fid,'%6.2f %6.2f\n',ln_r);%将矩阵ln_r的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnr.txt
fclose(fid);%关闭文件
fid = fopen('lnC.txt','w');%打开lnC.txt,'w'表示对打开的文件写数据
fprintf(fid,'%6.2f %6.2f\n',ln_C);%将矩阵ln_C的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnc.txt
fclose(fid);%关闭文件
grid on;
数据:图片如下:
页:
[1]