下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2008-12-27 22:27:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
又是大家开始忙碌着毕业论文的时候了~~
. b. I8 w- F6 B# r" D这个是我当时毕业论文的核心内容~~/ L4 d; I/ u9 f0 [6 \! d+ L
需要做信号非线性的学弟学妹 可以参考下~~7 _6 Y7 f* r- x+ V9 Q, p

" ]& j$ m  {% m6 _. i  F$ S4 B  p$ p7 @$ r2 W

4 @9 R7 j: n' Y* I  N' \, p
9 d. ?$ R% x5 d6 ~
6 w1 \6 s/ A/ @
$ m+ R, [# r2 H7 Z5 k! t  [9 D  s* t* q; f8 F

0 x$ w* Y/ b# I3 n7 |- Gfunction [shang]=jss(xdate)$ s6 N$ {( E" L) x) o
m=2;
9 ]7 B1 @* e) N! [, mn=length(xdate);
  [  ^2 K. b# w3 Q: sr=0.2*std(xdate);: k7 W  r4 L  O$ d" a
cr=[];: K0 X  H# J4 n( k! i2 M" w
gn=1;
5 Y: {: g) s" X% S. S4 ]8 z7 S, @gnmax=m;% ]) ?' b- [( }% W7 O# F
while gn<=gnmax
' p* ^# H- w: @, W; d( O) X  Qx2m=zeros(n-m+1,m);%存放变换后的向量& w3 P* S; @! ^  r1 Z6 H
d=zeros(n-m+1,n-m);% 存放距离结果的矩阵$ e2 T3 R6 X6 k! t6 E0 H3 t
cr1=zeros(1,n-m+1);%存放
: S% e& S7 B- x5 w6 _1 ~k=1;8 V2 L% c& x  y9 k7 q
for i=1:n-m+1" `2 G3 T9 O- E6 i7 v
* W8 ~  O* K/ \/ C" }
for j=1:m
  ]. l# E- c& \( s: B& \* t+ k
4 e: i2 t' `2 n3 K6 j
x2m(i,j)=xdate(i+j-1);

* F& r; h/ m' p/ f" o9 t$ ?+ q% i& H, x; @# S! C% M# g
end
8 v, s* R# p: I4 n) }3 U$ W
end
) E3 t2 t7 L8 W. }/ y2 {8 d. Gx2m;
8 G! o  b  }  ~5 Q7 w  j' n, A( c+ w% F3 v5 d. I

6 X8 R9 }9 V0 l/ K. }/ q3 T+ }for i=1:n-m+1* O. K8 T# J0 K+ |( t6 g

! V0 C' \8 G& ofor j=1:n-m+1
2 R0 d( ~; u: N, G0 R. y  A

$ I! J  G9 o, M& E, h! ?! dif i~=j

- f3 _" J  f# v7 |: S1 s$ z
% |6 i5 d. d% I- f& o- pd(i,k)=max(abs(x2m(i,-x2m(j,));%
计算各个元素和响应元素的距离
0 ^2 F1 ?1 c4 p' Y% ]/ r0 g, v5 _4 v( ^$ d3 Q& g" a
k=k+1;

" G  ~* q" I* A& ^; v1 i  G! n+ m; O  O# s5 u8 s* Z$ D7 g
end

: h/ b9 w8 o$ a8 e5 t, S+ e% Lend! l8 T( y/ b; E5 s
+ S( a8 @: F. j; f/ k1 c- k' S
k=1;
" C3 V% v. [$ g9 P
end
" L, D5 ^/ D3 N3 G/ H/ j7 Wd;8 W- U2 O3 y7 H  Q5 J8 U- |! Z- @

: }) Z6 v1 g6 a/ V3 Q) Ufor i=1:n-m+1
7 O; V, p+ Z( I7 c$ H" Y* _3 W+ R" k1 a
[k,l]=size(find(d(i,<r));%
将比R小的个数传送给L
7 j$ s2 Y' u6 b* K- R$ l* i9 \( j( G* T& a, j. g
cr1(1,i)=l;

- `; n$ ?% F8 Z7 i, h- T' Dend
# w+ P) i8 S7 a- V; Q, Vcr1;: K; w/ y. @; }1 B; Y/ i* N

1 Y- i: \% T/ P/ u! [cr1=(1/(n-m))*cr1;0 q- l& b( f6 h( Z! R# W! _
sum1=0;. K( _5 N8 q; A. o1 ?9 h. d0 k
for i=1:n-m+1& n# Z* d; N% I5 G2 c$ D

/ }, v  O1 W: ]( \. o# ?! p$ eif cr1(i)~=0
$ g% E5 x' b3 R- V

3 _) V* V' u5 V* m4 i' P2 m9 q4 _sum1=sum1+log(cr1(i));

# }* g# Y9 K0 y) D, h3 x2 v7 K, q( A0 P& a: @7 h
end
8 M9 @; P3 f* n/ A. j
end
% f" x. z3 r- ^+ S$ R4 m  t5 Rcr1=1/(n-m+1)*sum1;
. N" T* i" w- ^. tcr(1,gn)=cr1;
* S5 a! z: l9 {" i* i0 F* A, Wgn=gn+1;3 H: ~' t+ S4 V4 V6 l
m=m+1;! w5 ]! S) H' J4 r6 {/ L
end2 ~; O8 y" w  a0 |
cr;
* k* P% P, |" f
shang=cr(1,1)-cr(1,2);

/ m$ t. F) x0 Q
  d) x& S# J( a) j; `0 `

. t: C, V% w4 `4 {& d$ Y  B& i! x2 }& r( E

' s" ?* p1 h1 j) X% ?; ~function [shang]=ybs(xdate)
# }. W8 e% J8 |3 t* a$ vm=2;9 I! @/ c6 f/ q5 Y8 _
n=length(xdate);" |" @/ I9 R# Z: @9 a  [
r=0.2*std(xdate);
2 k$ x' B3 B* N7 }. L) B  ]  A- J, ccr=[];. L" |0 V% `# s. D4 u# x2 b/ q
gn=1;/ h! S/ J' l, D( t% e) p
gnmax=m;4 `# ?0 E1 |) }- q" m: T2 D; A( h
while gn<=gnmax2 L4 j6 m; S3 L
x2m=zeros(n-m+1,m);%存放变换后的向量. n! W: B3 }% M- M4 x* o+ F
d=zeros(n-m+1,n-m);% 存放距离结果的矩阵
3 ^8 {' b7 v  G( P- x( e4 Ycr1=zeros(1,n-m+1);%存放
' }2 L9 U+ ~" g: Bk=1;
9 G% o) x7 m- Y, f7 c* ]% p* Ofor i=1:n-m+1. P  l* a* H' i# }

9 V8 c3 f5 x7 t6 a% D- I: Vfor j=1:m

3 \, Z' M, t7 S; Z. _* h7 M, x* U, @/ l
6 b' V3 A4 \4 ^; s& nx2m(i,j)=xdate(i+j-1);

; N" D' G6 ~( U& I7 r7 Q6 S
/ \9 Y4 e$ ^+ `3 \) h- Oend
7 f$ U0 d! L+ g/ a; p- S
end
6 `) ^" ^; P. W4 d/ t5 Hx2m;
* F9 ]  p# ]; F/ v) Q+ D
& X, T1 Z5 ^0 L/ {
1 _% V3 C- n! I* Z. A/ Sfor i=1:n-m+13 c( K( G+ h" |$ T8 x

8 V9 `- S5 _3 e7 d; i: o: _for j=1:n-m+1
5 i0 R* V+ ]" j8 s

( a" ]- w. X. n! w* E6 hif i~=j

" h( Y( E2 O1 I$ [0 r* `: I7 L6 E9 ]4 u: T# o
d(i,k)=max(abs(x2m(i,-x2m(j,));%
计算各个元素和响应元素的距离$ _' V' b4 f3 A8 N

3 K5 k) K! W/ ?, l2 {k=k+1;
9 s) n2 O9 C4 y- U3 P

  y8 z1 S5 ?& q4 ^end
7 E7 \3 H  [1 t' d6 S- t9 l
end
8 c; r& h' y( V8 X3 o) p- }* d1 v; ~; W/ N' c
k=1;

, z- s, x- s& i" S. \+ }- rend" [1 h8 N( C. P6 l$ @+ d, \! t
d;
% R+ k+ i0 ?$ j# R0 T3 @2 X
1 h" W: i- j5 E2 V! W
for i=1:n-m+1! V% v/ n5 v6 d% C1 N* X& l$ ?
7 t7 C# n2 `- P8 `8 N$ {* i
[k,l]=size(find(d(i,<r));%
将比R小的个数传送给L% r: _& P  R8 S- x2 E

  b' p% |4 R" q* n, f# Mcr1(1,i)=l;

$ o2 D: ~+ X; \0 D" \1 T- G4 G: W6 Send1 [/ x9 G5 D0 F4 p7 D4 g
cr1;% E. [! Z  D! Z' l& K% l$ C6 F

% u; O. ]% e/ V6 ecr1=(1/(n-m))*cr1;' C2 V8 u* U) G$ ~: s0 j
sum1=0;$ W: R+ h& Z  f+ s  S8 O5 a! f. c; K
for i=1:n-m+1
" d# o3 h% I6 u  P
' |6 ~( [1 o: B1 msum1=sum1+cr1(i);
& p4 x- |+ ?# _) p8 U" ^

& p" ]. j+ K7 pend
& l/ F% q( `0 z  I6 r- E
end
6 h+ R1 h2 ^( E! i- d" kcr1=1/(n-m+1)*sum1;; M1 B5 C/ ?( I, @9 U  g  H
cr(1,gn)=cr1;
+ y2 m% g* E0 r* ]3 s# w9 Sgn=gn+1;) O8 ~/ w  t& p) W$ h
m=m+1;5 u4 _  s& w9 }+ Z/ L, k" d+ r1 M$ ]
end
  v: S: p. Q1 b3 P" p0 v$ [- B2 kcr;0 ~; ?$ K8 n7 N8 X8 H
shang=-log(cr(1,1)/cr(1,2));
. _# O3 h; }. f; p. `' Y: I
- Y" G: z, z. G/ w+ h- S- m[ 本帖最后由 刹那公子 于 2008-12-27 22:30 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
 楼主| 发表于 2008-12-27 22:31:56 | 只看该作者
其中圆脸为+ _4 ^2 r+ s2 u, |) @
: ) 中间没有空格
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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