声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1701|回复: 0

[分形与混沌] G-P算法中的拟合代码问题

[复制链接]
发表于 2013-12-3 09:03 | 显示全部楼层 |阅读模式

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

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

x
使用G-P算法算出了lnc、lnr图,但是不会进行拟合,无法求出关联维数。请热心人帮忙看下,能有拟合的代码更好,希望有人能够指点一二。本人新手,谢谢。
代码如下:
  1. data=load('example.txt');
  2. N=length(data);
  3. tau=6;
  4. min_m=2;
  5. max_m=10;
  6. ss=20;
  7. for m=min_m:max_m
  8.     Y=reconstitution(data,N,m,tau);%重构相空间Y
  9.     M=N-(m-1)*tau;%重构相空间中的嵌入点数
  10.     %
  11.     for i=1:M-1
  12.         for j=i+1:M
  13.             d(i,j)=max(abs(Y(:,i)-Y(:,j)));%计算相点Y(i)和Y(j)的距离         
  14.         end                                %j>M 循环结束
  15.     end
  16.     max_d=max(max(d));%the max distance of all points
  17.     d(1,1)=max_d;
  18.     min_d=min(min(d));%the min distance of all points
  19.     delt=(max_d-min_d)/ss;%the stepsize of r
  20.     for k=1:ss
  21.         r=min_d+k*delt;
  22.         C(k)=correlation_integral(Y,M,r);%计算关联积分
  23.         ln_C(m,k)=log(C(k));%求lnC(r)
  24.         ln_r(m,k)=log(r);%求lnr
  25.         fprintf('%d/%d/%d/%d\n',k,ss,m,max_m);
  26.     end
  27.     plot(ln_r(m,:),ln_C(m,:));
  28.     hold on;
  29. end
  30. fid=fopen('lnr.txt','w');%打开lnr.txt,'w'表示对打开的文件写数据
  31. fprintf(fid,'%6.2f %6.2f\n',ln_r);%将矩阵ln_r的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnr.txt
  32. fclose(fid);%关闭文件
  33. fid = fopen('lnC.txt','w');%打开lnC.txt,'w'表示对打开的文件写数据
  34. fprintf(fid,'%6.2f %6.2f\n',ln_C);%将矩阵ln_C的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnc.txt
  35. fclose(fid);%关闭文件
  36. grid on;
复制代码
数据: example.txt (206.3 KB, 下载次数: 12) 图片如下:

结果图

结果图



本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 08:55 , Processed in 0.081462 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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