資源簡介
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(
- 上一篇:K-CCA MATLAB 代碼
- 下一篇:matlab聚類工具箱
評論
共有 條評論