• 大小: 1.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-04
  • 语言: Matlab
  • 标签: 近似熵  matlab  

资源简介

利用matlab代码实现近似熵算法 并以两个合成数据为例

资源截图

代码片段和文件信息

function ApEn_value = ApEn(signalmr_factor)
%
% 函数名称:ApEn(ApproximateEntropy)
% 函数功能:求信号的近似熵 
% 函数输入:输入时间序列   signal
%          模式维数       m : m=1 or m= 2 
% 函数输出:近似熵        ApEn_value
% 编写作者: Rong
% 编写时间: 2012.10.18
% 其他说明:N (signal length) between 75 and 5000;
%          r between 0.1*STD and 0.25*STD where STD is the signal standard deviation
%
signal = signal(:)‘;
N = length(signal); 
% C computation for the “m“ pattern.
[C_m] = C_m_computation(signalmr_factor);
% C computation for the “m+1“ pattern.
[C_m_1] = C_m_computation(signalm+1r_factor);
% Phi’s computation.
phi_m = mean(log(C_m));
phi_m_1 = mean(log(C_m_1));
% Final ApEn computation.
ApEn_value = [phi_m-phi_m_1];

function [C_im] = C_m_computation(signalmr_factor)
X = [];
C_im = [];
n_im = [];
max_dif = [];
N = length(signal); 
% Construction of the X’s vectors.
for j = 1:N-m+1
    X(j:) = signal(j:j+m-1);
end
% C computation.
for j = 1:N-m+1
    aux1 = repmat(X(j:)N-m+11);
    dif_aux = abs(X-aux1);
    n_im = 0;
    for k = 1:N-m+1
        if max(abs(dif_aux(k:))) < r_factor*std(signal)
            n_im = n_im+1;
        end;
    end
    C_im = [C_im; n_im/(N-m+1)];
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1268  2012-10-18 13:15  approximateEntropyAlgorithm\ApEn.m

     文件        501  2012-10-18 13:28  approximateEntropyAlgorithm\mainApEn.m

     文件     286208  2012-10-18 10:43  approximateEntropyAlgorithm\近似熵值的计算.doc

     文件    1224704  2012-10-18 12:12  approximateEntropyAlgorithm\近似熵应用.doc

     目录          0  2012-10-18 13:30  approximateEntropyAlgorithm

----------- ---------  ---------- -----  ----

              1512681                    5


评论

共有 条评论