資源簡介
經(jīng)常碰到求一維分形維數(shù)的大小,分形維數(shù)MATLAB程序如上
代碼片段和文件信息
%根據(jù)計盒維數(shù)原理編寫了求一維曲線分形維數(shù)的matlab程序?
function?D=FractalDim(ycellmax)
%求輸入一維信號的計盒分形維數(shù)
%y是一維信號
%cellmax:方格子的最大邊長可以取2的偶數(shù)次冪次(1248...)取大于數(shù)據(jù)長度的偶數(shù)
%D是y的計盒維數(shù)(一般情況下D>=1)D=lim(log(N(e))/log(k/e))
f_v=‘y.txt‘;
y=load(f_v);
cellmax=16384;
if?cellmax error(‘cellmax?must?be?larger?than?input?signal!‘)
end
L=length(y);%輸入樣點的個數(shù)
y_min=min(y);
%移位操作,將y_min移到坐標(biāo)0點
y_shift=y-y_min;
%重采樣,使總點數(shù)等于cellmax+1
x_ord=[0:L-1]./(L-1);
xx_ord=[0:cellmax]./(cellmax);
y_interp=interp1(x_ordy_shiftxx_ord);
%按比例縮放y,使最大值為2^c
ys_max=max(y_interp);
factory=cellmax/ys_max;
yy=abs(y_interp*factory);
t=log2(cellmax)+1;%疊
評論
共有 條評論