資源簡介
matlab計算時間序列樣本熵,含計算步驟
代碼片段和文件信息
function?SampEnVal?=?SampEn(data?m?r)
%SAMPEN??計算時間序列data的樣本熵
%????????data為輸入數(shù)據(jù)序列
%????????m為初始分段,每段的數(shù)據(jù)長度
%????????r為閾值
%?$Author:?lskyp
%?$Date:???2010.6.20
%?Orig?Version:?V1.0--------分開計算長度為m的序列和長度為m+1的序列
%???????????????????????????這一版的計算有些問題,需要注意兩個序列總數(shù)都要為N-m
%?Modi?Version:?V1.1--------綜合計算,計算距離時通過矩陣減法完成,避免重循環(huán)
%?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序列計算
????%?統(tǒng)計距離,由于每行都要與其他行做減法,因此可以先將該行復制為N-m的矩陣,然后
????%?與原始x1矩陣做減法,可以避免兩重循環(huán),增加效率
????x1temprow?=?x1(k?:);
????x1temp????=?ones(N?-?m?1)*x1temprow;
????%?可以使用repmat函數(shù)完成上面的語句,即
????%?x1temp?=?repmat(x1temprow?N?-?m
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1521??2020-11-04?21:15??SampEn.m
?????文件???????75860??2020-11-04?21:15??╤??╛∞╪╝╞╦π▓╜╓Φ1.jpg
?????文件???????70808??2020-11-04?21:15??╤??╛∞╪╝╞╦π▓╜╓Φ2.jpg
評論
共有 條評論