下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 6144|回复: 3
打印 上一主题 下一主题

样本熵 近似熵 代码 应用于matlab

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2008-12-27 22:27:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
又是大家开始忙碌着毕业论文的时候了~~! {! O# G  C' S/ h* H; r3 s
这个是我当时毕业论文的核心内容~~9 F1 U0 r3 y7 X0 U* O* a/ ?  F/ S
需要做信号非线性的学弟学妹 可以参考下~~- b9 [$ A6 u, u
& I/ _3 A# v  |0 v3 y; _$ k) P

5 K) Q# z+ Y0 [3 m$ `' W* F. G( _3 l: t' Q

9 _: V& c) n3 s. k+ m1 Z1 ?% }
' g9 B" q$ _  y: c7 ]' s) k
, M- ~; L  w. {4 G
8 |: _  X+ I& C; l+ Z% D, b
% U$ I4 Y' U5 t, E" `0 }9 f& sfunction [shang]=jss(xdate), _( R) \- p2 P9 L- s4 l  E( M
m=2;! }  |7 o6 S& B
n=length(xdate);9 b; ?' ], o6 T5 k. e
r=0.2*std(xdate);$ `; J% f4 }8 ^
cr=[];- `+ H6 }7 f, s& F" K
gn=1;
; |" E4 ?7 A6 V% p6 ognmax=m;
8 g3 o5 g4 E6 n' J2 Jwhile gn<=gnmax
3 [, ]% a2 I+ F( mx2m=zeros(n-m+1,m);%存放变换后的向量% x; I1 c8 Z, R$ N3 m* V  v
d=zeros(n-m+1,n-m);% 存放距离结果的矩阵/ W' B& U  o; B. l( i  a
cr1=zeros(1,n-m+1);%存放: m5 H1 @: m- l' g6 o  P: h
k=1;3 c8 {; I' e+ \
for i=1:n-m+1. I* q( a' E1 v# _" E- w
; ^5 m2 y% _3 {  F/ F% p9 w
for j=1:m
; H9 [% X0 U6 V8 b1 k. h. ~

2 S* `. D, ?9 x  E) i4 Y% P7 cx2m(i,j)=xdate(i+j-1);

2 _5 \. l% [! E! F# e7 ]+ ^1 i1 i7 R5 Q1 ~' G' r# L$ c: L2 u
end
: Z$ \* |; `1 W; r$ I& V
end7 L: Y) V5 W5 o  }& B0 P( u* V
x2m;
! }# M& f; A" ^" J8 p, V5 l$ S4 F2 v! X7 G6 t
+ F# C7 w: N8 i5 s: d
for i=1:n-m+1
& p& x4 ?/ k% Q& O
4 B5 [% ~1 z1 D- u# ofor j=1:n-m+1

7 z2 e: e( _9 w, }6 Y! h
* p  @% \0 S7 |2 D5 oif i~=j
. i) S: u1 T1 A; P- }/ \

; H* u: B$ R( Z5 V2 |' |% S0 _d(i,k)=max(abs(x2m(i,-x2m(j,));%
计算各个元素和响应元素的距离9 i$ M4 Q; `# K2 l. M- I$ L6 W

7 s4 e2 C( g  ?9 D. @k=k+1;

8 |2 @9 E" i! D$ M6 v
& }' K3 ~. a3 U% u+ r5 Rend
2 l3 V7 f$ w- P/ p0 W( |8 \7 O
end
% G+ J  D6 b* \+ e7 P. P2 A* n+ T7 E+ Z4 |
k=1;
8 Z  h2 c1 N& i( o  d# q
end, o7 V4 W1 g6 L7 T3 Q% c; e3 k
d;, A2 @  w: P6 t4 ]# h' Y6 A
$ [6 l8 [5 Y& g( [; E* r& ?
for i=1:n-m+13 B! v5 Q9 N& T

# r2 \) e+ p" X- B& J9 y[k,l]=size(find(d(i,<r));%
将比R小的个数传送给L% b4 |% |' o) f8 i
" D* M6 T. o4 h; H2 g; Q
cr1(1,i)=l;
2 u( O5 m0 ?. O" A! B
end" E6 D$ ]2 ^6 i- L* o7 P: X
cr1;9 D1 {7 _& F: w4 L3 [6 U% X6 S8 h  Q
; Q# B) n0 z% X0 \: {. A8 F. m9 E
cr1=(1/(n-m))*cr1;. `! \3 n' B& `5 J7 j, u+ f0 N
sum1=0;* U: J5 I4 a/ u9 H! t9 c
for i=1:n-m+10 n. V7 p3 L% i8 }' |) z2 U
+ s" }" c- I% w* J( M  w
if cr1(i)~=0

0 H4 ^7 t, C, p+ E
% c/ j! r! A( y; xsum1=sum1+log(cr1(i));

/ A& G! b) J% `* M  c& B; o. c  e3 T+ ?* b& V8 h$ X
end
  R) _6 s/ m9 B5 V; F; z4 L" W. O
end
: T% W* [- q9 e! [4 Lcr1=1/(n-m+1)*sum1;9 H) V, _& g1 h" \0 Y
cr(1,gn)=cr1;
- o' k9 w: g' L. D  sgn=gn+1;1 l' J$ J, |' m! h" @3 {! E: e
m=m+1;4 _- M' x- K6 P7 k' _' h
end3 t$ |0 O7 c3 r4 n+ u8 g8 d7 p
cr;# J! B8 e* q% a  M
shang=cr(1,1)-cr(1,2);
+ l. Z" V# r0 e5 K( R/ d
9 U0 O+ ?' B1 ~: N" L) S5 Y

& X3 K3 c. ^1 s. A7 i+ Z8 w
) U+ r& v- Z1 Z1 }! t8 J0 \) \! {9 T# D' n4 W" w. e
function [shang]=ybs(xdate)* A0 L& t3 d2 i2 D. c, j
m=2;0 Y% W6 W; ?7 [9 U
n=length(xdate);: [1 f. u8 N; `) D+ R/ h. p
r=0.2*std(xdate);- O, D0 i% f" I9 w* k! p$ P
cr=[];0 d5 z+ z) A/ j! H
gn=1;3 _+ ?6 h. C1 }0 ~6 E
gnmax=m;4 F- W3 u1 Y4 C% B, X, l: q" Z
while gn<=gnmax' ]- E- b7 ?) X" H/ w, }4 [$ p
x2m=zeros(n-m+1,m);%存放变换后的向量# c1 i! m, M* W9 Y( e) T& X
d=zeros(n-m+1,n-m);% 存放距离结果的矩阵* y1 b, m. P5 v: G* V( A9 c1 i
cr1=zeros(1,n-m+1);%存放9 z5 B. u0 _' g% w4 B1 O" m
k=1;2 L- H5 P, Q, z; I9 A  o
for i=1:n-m+1
( d( d* G/ J, c- X' P7 K$ G9 d, z3 z. |8 {
for j=1:m

: l3 k3 ?+ b# L5 @4 f: V; M2 f$ u, d; Q% F, X6 U
x2m(i,j)=xdate(i+j-1);
/ i9 k' i  e& b

, y" {9 G( z; e& L5 j. pend

) Z8 c$ Z" Z& K8 b5 P( C$ e9 [end
; z5 H: A8 _* {% @( `# E' Lx2m;
8 y, M9 P! s4 N" Y- h% R
+ ~$ f5 O7 K& p
* w5 E# H( e6 Q* O4 mfor i=1:n-m+1
) y/ |; A: ]3 k4 Z4 m3 q7 ]% _: d0 H* h% F2 [
for j=1:n-m+1

! ?6 `# K* Y7 N+ K- T/ `* e* S
6 g7 I3 p; b. t  |7 e' _if i~=j

, y9 e  \) U( t  K1 p# F: n5 P1 C: J' C  c/ n+ {) u, @& j8 N2 ?
d(i,k)=max(abs(x2m(i,-x2m(j,));%
计算各个元素和响应元素的距离
3 @" ^  A, d% m+ O/ J$ }
. S$ o/ F2 B) k* Jk=k+1;
' j5 K' U# a2 p

; a9 F) j: d! ^: A% C# }end
: w5 Z5 y; m, X( M' E/ R
end. P# |1 ^( S/ i# c0 b

3 T/ _: i) D  X4 i3 u2 k$ C+ a3 }k=1;
- ?+ e/ g  S$ g3 ^
end
. t8 j0 |% o1 x" ?* Q" m# ~d;
1 y# l5 l! W" Q# o& c9 w

+ ^) L9 ?% `3 V( s- Yfor i=1:n-m+1
# r. E- r" \# I. T
. m  ^& `8 G2 y1 y+ u! e[k,l]=size(find(d(i,<r));%
将比R小的个数传送给L
, W1 [' M$ G0 Q+ v  G+ ^
& b2 x) W% @  [+ Vcr1(1,i)=l;

/ }3 X) F: F% |6 d' E3 ]end
, m- V( a( {8 ^6 Z- z- v9 Ucr1;
* f' |" M6 d3 N- i! R; k4 |( X  g" @6 P- |
cr1=(1/(n-m))*cr1;
9 g6 Z8 [+ T2 r) K, @sum1=0;
1 L' u( }6 E1 _: w6 S+ K0 vfor i=1:n-m+14 v+ b$ x$ e7 v; h

) C. f9 \5 w4 D7 r& u$ @% I3 K5 qsum1=sum1+cr1(i);
4 p; H7 \. f8 s
& T. i6 _% _, B  e1 O/ g
end
( E6 |3 f/ j( C  y
end) f! u- i* S6 a2 ?7 s/ e. m7 ^
cr1=1/(n-m+1)*sum1;* ^  k1 a. @1 P& k( q5 s5 x$ y! W
cr(1,gn)=cr1;
; D7 D( `8 P& c& ugn=gn+1;
: V5 @$ |/ c) W5 {m=m+1;
& y6 j6 z( `" ^) }end
! G& e$ l# d( tcr;* X, \% y: F3 ]* I# ?) ?
shang=-log(cr(1,1)/cr(1,2));
+ a0 X' h9 ~9 ~1 C" o
% e/ h% t0 [1 J& v. Z% n[ 本帖最后由 刹那公子 于 2008-12-27 22:30 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
 楼主| 发表于 2008-12-27 22:31:56 | 只看该作者
其中圆脸为8 R: G5 F$ ]" D
: ) 中间没有空格
回复 支持 反对

使用道具 举报

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

快速回复 返回顶部 返回列表