利用matlab代码实现近似熵算法
并以两个合成数据为例
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1268 2012-10-18 13:15 approximateEntropyAlgorithmApEn.m
文件 501 2012-10-18 13:28 approximateEntropyAlgorithmmainApEn.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
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 approximateEntropyAlgorithmApEn.m
文件 501 2012-10-18 13:28 approximateEntropyAlgorithmmainApEn.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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)