根据计盒维数原理求一维曲线分形维数的
matlab
程序
Zhgeshicel;’alf’[K;’ASKF;LFK;lkf;ldas;fjad;lfj
function D=FractalDim(y,cellmax)
%
求输入一维信号的计盒分形维数
%y
是一维信号
%cellmax:
方格子的最大边长
,
可以取
2
的偶数次幂次
(1,2,4,8...),
取大于数据长度的偶数
%D
是
y
的计盒维数(一般情况下
D>=1
)
,D=lim(log(N(e))/log(k/e)),
if cellmax
error('cellmax must be larger than input signal!')
end
L=length(y);%
输入样点的个数
y_min=min(y);
%
移位操作,将
y_min
移到坐标
0
点
y_shift=y-y_min;
%
重采样,使总点数等于
cellmax+1
x_ord=[0:L-1]./(L-1);
xx_ord=[0:cellmax]./(cellmax);
y_interp=interp1(x_ord,y_shift,xx_ord);
%