• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Matlab
  • 标签:

资源简介

在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

评论

共有 条评论