資源簡介
在MATLAB環境里計算1維多重分形譜的一個程序,可以得到數據的1維分形
代碼片段和文件信息
function?multifractal(A)
format?long?g
L=length(A);
i=1;
modify=1;
tmin=2;????????????????%?邊框間距,“※”
tmax=10;
ttmin=-10;
ttmax=10;???????????????%?自定義?q?的范圍
for?r=tmin:1:tmax???????????
c(i1)=mod(Lr);
i=i+1;
end??????????????????
c‘;?????????????????????%?計算不能被邊長r整除的余數
a=L-c‘;?????????????????%?計算并剔除掉不能被邊長r整除的原始數據
n=length(a);????????????%?求解格網化邊長的個數,即為?n
TT=[];
j=1;
r=tmin;????????????????%?自定義項,“※-2”
for?i=1:1:n?????????????%?即n=25-10+1,自定義的結果
B=A(1:a(i)1);
U=reshape(Brlength(B)/r);
T=mean(U);
T=T‘.*r^3;????????????
TT(1:?length(T)i)=[T];???
modifying(modify1)=length(T);
r=r+1;
if?r>=?tmin+n???????????%?自定義項,“※-3”
break;?????????????%?邊長超過10+n,超過初始限制,則程序自動終止
end
modify=modify+1;
end???????????????
modifying;
TT=?nthroot(TT1);????????
%?或者不縮小
%?TT;
TT=nonzeros(TT);??????????
for?cugb=1:1:n?????????????????
modifying_modifying(cugb1)=sum(modifying(1:cugb));?????%?有影響的新加卷?%?&?*?%?¥?#?@?!)?……
end????????????????????????????????????????
modifying_modifying;?????????????
j=1;
???????????????????????%?q?為任意數,這里取1到n,為n,與?k取值保持一致,q過大,計算機無法
??????????????????????????????????%識別,默認為無窮大,q過小,結果接近0,則意義不明確
for?q=ttmin:ttmax???????????%這里取?q=-10:1:10
for?k=1:1:n?
????X=TT(1:modifyi
評論
共有 條評論