logo资料库

一维曲线分形维数的matlab程序.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
根据计盒维数原理求一维曲线分形维数的 matlab 程序 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
end N(e)=Ne;%记录每 e 下的 N(e) end %对 log(N(e))和 log(k/e)进行最小二乘的一次曲线拟合,斜率就是 D r=-diff(log2(N));%去掉 r 超过 2 和小于 1 的野点数据 id=find(r<=2&r>=1);%保留的数据点 Ne=N(id); e=NumSeg(id); P=polyfit(log2(e),log2(Ne),1);%一次曲线拟合返回斜率和截距 D=P(1);
分享到:
收藏