分形维数.txt
来自「一个计算混沌时间序列相关维数的matlab程序」· 文本 代码 · 共 139 行
TXT
139 行
function d=d_seq(x)
%used to calculate the dimension of the sequence
%d=d_seq(x)
%x,times sequence
%data
load c:\matlab\work\data\data_c1.mat;
x=xy(1001:length(xy(:,1)),1); %提取X向量
%y=xy(1001:length(xy(:,2)),2); %提取Y向量
clear xy; %清除变量xy以释放空间
m=4; %m为嵌入维数
tao=1/pi; %时间序列之间的间隔
N=length(x)-m;
w=ceil(tao*((2/N)^(2/m))); %
r=[0.001:-0.0001:0.0005]; %半径
h=0;
for n=w:N
for i=1N-n)
%for j=1:m
% vi(j)=x(i+j);
% vipn(j)=x(i+j+n);
%end
j=1:m;
vi=x(i+j);
vipn=x(i+j+n);
rou=norm(vipn-vi);%||vipn-vi||
h1=heaviside(r-rou);
h=h+h1;
end
end
CrNw=2*h/((N-w+1)*(N-w)); %
d=log2(CrNw+eps)./log2(r); %关联维数
tlength=etime(clock,t0);
fprintf('嵌入维数:m=%d tao=%8.5f',m,tao);
fprintf(' w=%d N=%d\n',w,N);
fprintf('r=%8.5f\t',r);
fprintf('\n关联维数:\n');
fprintf('d=%8.5f\t',d);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?