|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
使用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;
复制代码 数据:
example.txt
(206.3 KB, 下载次数: 12)
图片如下:
结果图
|
|