variation2.m
来自「方差分维数计算程序」· M 代码 · 共 34 行
M
34 行
%方差法
%计算思路:
%1 用宽度为w的窗体覆盖函数。第i个窗口的方差记V(w)=std(yy(x)),x取值范围在窗口宽度内。
%3 将若干宽度w与其相应的V(w)绘制在对数坐标内。用最小二乘法求其斜率a,则分维D=2-a
clear
load z1024h1.mat%待分析数据
% y=C2.'
% y=y(100:612)
y=z(1:1024)
x=length(y)%总点数
i=4%窗口个数
time=5%窗口尺度变化次数
for t=1:time
i=i*2
w(t)=x/i%窗口宽度
for ii=1:i
iii=ii-1%当前窗口编号
first=1+(iii)*w(t)%当前窗口内,第一个点的编号
last=w(t)+(iii)*w(t)%当前窗口内,最后一个点的编号
H(ii)=std(y(first:last))
end
num=pi/300
V(t)=sum(H)/(w(t)*0.1)
end
Vlog=log(V)
wlog=log(w)
plot(wlog,Vlog,'.')
grid on
hold on
P=polyfit(wlog,Vlog,1)%最小二乘法拟合数据
xx=[floor(min(wlog)):ceil(max(wlog))]
yy=P(1)*xx+P(2)
plot(xx,yy)
D=2-P(1)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?