資源簡介
計算樣本熵的Matlab程序,可用于機械故障診斷,生物醫學信號處理(例如腦電、肌電、心電等)
代碼片段和文件信息
function?SampEnVal?=?SampEn(data?m?r)
%?SAMPEN??計算時間序列data的樣本熵
%?輸入:data是要分析的一維行向量,data為輸入數據序列向空間重構的時間延遲默認為1,
%???????m重構維數,一般選擇1或2,優先選擇2,一般不取m>2
%???????r?閾值大小,一般選擇r=0.1~0.25*Std(data)
%?輸出:SampEnVal樣本熵值大小
%?$Author:?lskyp
%?修改:yuhansgg
%?$Date:???2018.03.05
%?Orig?Version:?V1.0--------分開計算長度為m的序列和長度為m+1的序列
%???????????????????????????這一版的計算有些問題,需要注意兩個序列總數都要為N-m
%?Modi?Version:?V1.1--------綜合計算,計算距離時通過矩陣減法完成,避免重循環
%?V1.1?Modified?date:?2018.03.05
%?樣本熵公式參考論文:《A?review?on?sample?entropy?applications?for?the?non-invasive?analysis?of?atrial?fibrillation?electrocardiograms》
data?=?data(:)‘;
N?=?length(data);
Nkx1?=?0;
Nkx2?=?0;
%?分段計算距離,x1為長度為m的序列,x2為長度為m+1的序列
for?k?=?N?-?m:-1:1
????x1(k?:)?=?data(k:k?+?m?-?1);
????x2(k?:)?=?data(k:k?
評論
共有 條評論