資源簡介
利用matlab計算信號序列的樣本熵,估算信號的復雜度
代碼片段和文件信息
function?SampEnVal?=?SampEn(data?m?r)
%?調用時data是要分析的一維行向量,向空間重構的時間延遲默認為1,m重構維數
%??r?閾值大小,一般選擇r=e*std(data)
%SAMPEN??計算時間序列data的樣本熵
?
%????????data為輸入數據序列
?
%????????m為初始分段,每段的數據長度
?
%????????r為閾值
?
%?$Author:?lskyp
?
%?$Date:???2010.6.20
?
%?Orig?Version:?V1.0--------分開計算長度為m的序列和長度為m+1的序列
?
%???????????????????????????這一版的計算有些問題,需要注意兩個序列總數都要為N-m
?
%?Modi?Version:?V1.1--------綜合計算,計算距離時通過矩陣減法完成,避免重循環
?
%?V1.1?Modified?date:?2010.6.23
?
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?+?m);
?
end
?
for?k?=?N?-?m:-1:1
?
????%?x1序列計算
?
????%?統計距離,由于每行都要與
評論
共有 條評論