⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boxcounting.txt

📁 使用MATLAB编的一段程序。用于计算时间序列的盒维数。
💻 TXT
字号:
%本程序只能计算时间序列的盒维数
%box11 
clear 
data1; %存放时间序列的数据文件,共6列
c=0; 
n=2^10; 
ll=1:1383-1220+1; 
b(:,1)=ll'; 
b(:,2)=aaa(1220:1383,6)*100; %aaa是data1中的函数,里面是6列时间序列 

%划分不同大小的格子,并统计不同量级格子中含有数据的格子数
k=2; 
for p=1:9 
...k=2^p 
...stepx=(max(b(:,1))-min(b(:,1))+1)/k; 
...stepy=(max(b(:,2))-min(b(:,2))+1)/k; 

...mm(p)=0; 
...for i=1:k 
......i 
......for j=1:k 
.........lowx=stepx*(i-1)+min(b(:,1))-0.5; 
.........upx =stepx*i+min(b(:,1))-0.5; 
.........lowy=stepy*(j-1)+min(b(:,2))-0.5; 
.........upy =stepy*j+min(b(:,2))-0.5; 
.........aa=find(b(:,1)>=lowx & b(:,1)<upx & b(:,2)>=lowy & b(:,2)<upy); 
.........if ~isempty(aa) 
............mm(p)=mm(p)+1; 
.........end 
......end 
...end 
end 

%在双对数坐标系中画点和曲线
x(1)=1; 
for i=2:9 
x(i)=2*x(i-1); 
end 
x=log(x); 
y=log(mm); 
plot(x,y,'*') 

hold on; 
v=polyfit(x(1:6),y(1:6),1); 
yy=polyval(v,x); 
plot(x,yy); 
hold off; 
title(v(1));

关联维数程序: 

% estimation of the correlation dimension 
% Grassberger and Procaccia algorithm
r=0.50;
m=22;
t=5;
dr=0.10;
keyboard;     % input r,m,t,dr
n=length(fname);
mm=n-(m-1)*t;
eeaa=zeros(mm,m);
for i=1:mm
    for j=1:m
        eeaa(i,j)=fname(i+(j-1)*t);
    end;
end;
fenmu=mm*(mm-1);
mmm=250/r;
eebb=zeros(mmm,4);
h=1;
for ij=r:r:250
    k=0;
    for i=1:mm-1
         for j=i+1:mm
            hh=norm(eeaa(i,-eeaa(j,,inf);      %(eeaa(i,:)-eeaa(j,:),inf);
            if hh<ij
               k=k+2;
             end;
         end;
    end;
crm=k/fenmu;
eebb(h,1)=k;
eebb(h,2)=crm;
eebb(h,3)=log2(crm);
eebb(h,4)=log2(ij);
h=h+1;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -