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

资源简介

MF-DFA程序,可批量下载.dat文件,修改文件名后可直接运行

资源截图

代码片段和文件信息

%% 批量读取dat文件,存放在矩阵signals(k*N)中,矩阵的每一行表示一组数据
N=1024*10;              %分析数据长度
filepath=‘D:\matlab程序\Readdat\datas‘; 
b=strcat(filepath‘\*.dat‘);
datfile=dir(b);
k=size(datfile1); %文件夹中的文件数
signals=[];
for i=1:k
    path=strcat(filepath‘\‘datfile(i).name);
    fid=fopen(path);
    if(fid==-1)
        disp(‘警告:文件无法打开,请检查文件名及路径是否正确‘)
    else
        signals(:i)=fread(fidN+90‘int16‘);
%         signals=[dataarray;data];
%         disp(length(dataarray));
    end    
end
signals=signals(91:N+90:)‘;

%% 初始化,参数赋值。
% N=1024*10;              %分析数据长度
% fid=fopen(‘0.4\i4g8.dat‘‘r‘);%读取.dat文件
% x_x=fread(fidN+90‘int16‘);
scmin=100;
scmax=1000;
scres=91;
exponents=linspace(log2(scmin)log2(scmax)scres);
scale=round(2.^exponents);
q=linspace(-55101);
m=[1 2 3];
set(0‘RecursionLimit‘1500);
% signal=x_x(1:N1);

%% 构造累积时间序列,并计算标度指数 tq-------------------------------------------------------------------------
for j=1:3
for i=1:k
X=cumsum(signals(i:)-mean(signals(i:)));
if min(size(X))~=1||min(size(scale))~=1||min(size(q))~=1;
    error(‘Input arguments signal scale and q must be a vector‘);
end
if size(X2)==1;       %返回列数
   X=transpose(X);     %转置,X为行向量
end
if min(scale)   error(‘The minimum scale must be larger than trend order m+1‘)
end
for ns=1:length(scale) %标度范围——n
    segments(

评论

共有 条评论

相关资源