⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apen.m

📁 This program calculates Approximate Entropy of a given time series. Approximate Entropy is a statist
💻 M
字号:
%% Aproximate Entropy of a time series 
%% apen(S,m,r)
%% S=time series    m=pattern length     r=similarity criterion

function app_entropy=apen(simout,m,r)    % Getting the input data from various modulations 

S=simout;

N1=length(S)-m+1;                        % No of total patterns
N2=length(S)-m;

main1=zeros(N1,m);
main2=zeros(N2,m+1);

sim_patt1=zeros(N1,1);                   % Storing the number of similar patterns for m
fraction_sim1=zeros(N1,1);               % Fraction of patterns similar to i th pattern for m

sim_patt2=zeros(N2,1);                   % Storing the number of similar patterns for m+1
fraction_sim2=zeros(N2,1);               % Fraction of patterns similar to i th pattern for m+1

                                         % Partioning into all possible patterns
for i=1:m
    main11(:,i)=S( [1:N1] + i-1 );
end

for i=1:(m+1)
    main22(:,i)=S( [1:N2] + i-1 );
end

for i=1:N1                              % Procedure for calculating all patterns in a given time series which are similar to ith pattern
    main1=circshift(main11,-i+1);    
    diff_matrix1= abs ( cumsum(diff(main1)) );
    index1=find( diff_matrix1 > r);
    q1=mod(index1,length(diff_matrix1) );
    q1(find(q1==0))=length(diff_matrix1);
    sim_patt1(i)=length(diff_matrix1) - length(unique(q1)) + 1;
    fraction_sim1(i)=sim_patt1(i)/N1;
    
end
for i=1:N2
    main2=circshift(main22,-i+1);    
    diff_matrix2= abs ( cumsum(diff(main2)) );
    index2=find( diff_matrix2 > r);
    q2=mod(index2,length(diff_matrix2) );
    q2(find(q2==0))=length(diff_matrix2);
    sim_patt2(i)=length(diff_matrix2) - length(unique(q2)) + 1;
    fraction_sim2(i)=sim_patt2(i)/N2;
    
end


stat1=sum(fraction_sim1)/N1;
stat2=sum(fraction_sim2)/N2;

app_entropy=log(stat1/stat2);            % Return Value
 
    


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -