资源简介
多重分形谱计算程序matlab,可用于股市分析等。有问题希望大家及时反馈给我。
代码片段和文件信息
function [f_aAlpha]=AlphaR(Datarintervalqinterval)
%[f_aa]=AlphaR(Datarintervalqinterval)
%AlphaR为计算多重分形谱的函数
%Data为输入样本数据列向量第一列为数据
%rinterval为尺子取值范围rinterval=[rminrmax];
%rmin为大于等于2的正整数,最大为数据长度
%qinterval为q取值范围qinterval=[qminq步长qmax];
%% 数据准备
L=length(Data); % 总数据个数
%尺子参数
rmin=rinterval(1); % 尺子区间
rmax=rinterval(2);
rno=rmax-rmin+1; % 尺子个数
%q参数
qmin=qinterval(1); % q的范围
qd=qinterval(2); % 步长
qmax=qinterval(3);
qno=fix((qmax-qmin)/qd+1); % q的个数
c=zeros(rno1);
i=1;
for r=rmin:rmax % 每组区间长度
c(i1)=mod(Lr);
i=i+1;
end
c=c‘; % 计算不能被边长r整除的余数
count=L-c;
format long
modify=1;
modifying=zeros(rno1);
r=rmin; % 尺子初始长度
%% 进入配分函数主循环
%计算每区间质量值
for i=1:rno
B=Data(1:count(i)1); % 取出每个尺子对应的所有数据
ino=length(B)/r; % 尺子对应的区间数interval no
Tssum=sum(B);
U=reshape(Brino); % 每列保存每区间全部数据
T=sum(U)./Tssum; % 每个区间的质量
T=T‘;
TT(1:length(T)i)=T; % 按列保存不同区间的T值%%%%%%%%%%%%preallocate
modifying(modify1)=ino; % 每个尺子对应区间数(T值的个数)
r=r+1;
if r>= rmin+rno % 自定义项,“※-3”
break; % 边长初始限制,循环终止
end
modify=modify+1;
end
TT=nonzeros(TT);
to_modifying=zeros(rno1);
for cugb=1:rno
to_modifying(cugb1)=sum(modifying(1:cugb)); % 第i个尺子累计有T值个数的总数
end
j=1;
% q 为任意数,这里取1到n,为n,与 k取值保持一致,q过大,计算机无法
%识别,默认为无穷大,q过小,结果接近0,则意义不明确
XX=zeros(rnoqno);
for q=qmin:qd:qmax
for k=1:rno
if k==1
X=TT(1:to_modifying(k1)1).^q;
else
X=TT(to_modifying(k-11)+1:to_modifying(k1)1).^q;
end
t=sum(X);
XX(kj)=t; % 第k个尺子第j个q的配分函数,Xq(ξ)这里用到两个循环,即考虑到了幂函数,又需考虑求和
end
j=j+1;
end
%% 谱函数主循环
side_length= rmin:rmax; % 尺子长度
side_length=side_length‘;
q=qmin:qd:qmax; % q分层参数
m=1;
slope=zeros(qno1);
for i=1:qno
s=XX(:i); % 每一层所有尺子的配分函数
b=polyfit(log(side_length)log(s)1); % 在对数尺度下计算斜率一阶拟合
slope(m1)=b(11);% 这里的Slope即为质量指数,τ(q)
m=m+1;
end
%plot(q‘slope) % 若τ(q)-q为线性关系,则为单分形;若τ(q)-q是凸函数,
Alpha=diff(slope)./diff(q‘); % 奇异指数Alpha
q=q‘;
f_a=Alpha.*q(2:end)-slope(2:end); %奇异谱函数
%% 画图
% figure
% plot(Alphaf_a‘o‘)
% xlabel(‘α‘‘FontSize‘12);
% ylabel(‘f(α)‘‘FontSize‘12);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-07-23 13:45 Charles Li Multifractal1.0\
文件 2698 2013-07-22 16:14 Charles Li Multifractal1.0\AlphaR.m
文件 543 2013-07-23 13:53 Charles Li Multifractal1.0\Charles Li Multifractal1.0使用说明.txt
文件 700 2013-07-19 11:10 Charles Li Multifractal1.0\MulDataGenerator.m
文件 1324 2013-07-22 13:38 Charles Li Multifractal1.0\MulGetdate.m
文件 1214 2013-07-22 15:20 Charles Li Multifractal1.0\MultifractalRE.m
文件 895 2013-07-22 16:31 Charles Li Multifractal1.0\sc
文件 205281 2013-07-19 16:22 Charles Li Multifractal1.0\TData.mat
文件 641211 2013-07-19 16:27 Charles Li Multifractal1.0\TData1.mat
- 上一篇:汽车悬架的半主动控制MATLAB仿真
- 下一篇:关于MSK的matlab源代码
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论