• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Matlab
  • 标签: 分形维数  

资源简介

经常碰到求一维分形维数的大小,分形维数MATLAB程序如上

资源截图

代码片段和文件信息

%根据计盒维数原理编写了求一维曲线分形维数的matlab程序 

function D=FractalDim(ycellmax)

%求输入一维信号的计盒分形维数
%y是一维信号
%cellmax:方格子的最大边长可以取2的偶数次幂次(1248...)取大于数据长度的偶数
%D是y的计盒维数(一般情况下D>=1)D=lim(log(N(e))/log(k/e))
f_v=‘y.txt‘;
y=load(f_v);
cellmax=16384;
if cellmaxerror(‘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_ordy_shiftxx_ord);
%按比例缩放y,使最大值为2^c
ys_max=max(y_interp);
factory=cellmax/ys_max;
yy=abs(y_interp*factory);

t=log2(cellmax)+1;%叠

评论

共有 条评论