资源简介
在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
评论
共有 条评论