| 查看: 859 | 回复: 1 | |||
[交流]
请问有没有虫友在搞多尺度熵(MSE),有没有相关的matlab程序?
|
|
我最近在做多尺度熵,网上找到一段程序,不知道可不可用,贴一下,请各位指教: (如果有人有不同的多尺度熵matlab程序,能不能也贴一下 谢了)%% 求解多尺度熵 Multiscale Entropy clc clear all load X11b.mat s x=s(1:128,1); k=0; t=2;% 尺度因子,可以取1~20 N=floor(length(x)/t); p= 0.20; % p 可以选择 在 0.1~0.25 r=p*std(x) for i=1:N for j=1+(i-1)*t:i*t k=k+x(j); end y(i)=k/t; k=0; end %% 求解m=2 m=2; ph2=0; num=zeros(N-m+1); c=zeros(N-m+1); for i=1:N-m+1 for j=1:N-m+1 if j~=i d(i,j)=max([abs(y(i+0)-y(j+0)) abs(y(i+1)-y(j+1))]); end end end for i=1:N-m+1 for j=1:N-m+1 if d(i,j)<r num(i)=num(i)+1; end end c(i)=num(i)/(N-m); ph2=ph2+c(i) end ph2=ph2/(N-m+1); %% 求解m=3 m=3; ph3=0; num=zeros(N-m+1); c=zeros(N-m+1); for i=1:N-m+1 for j=1:N-m+1 if j~=i d(i,j)=max([abs(y(i+0)-y(j+0)) abs(y(i+1)-y(j+1)) abs(y(i+2)-y(j+2))]); end end end for i=1:N-m+1 for j=1:N-m+1 if d(i,j)<r num(i)=num(i)+1; end end c(i)=num(i)/(N-m); ph3=ph3+c(i); end ph3=ph3/(N-m+1); %% 求得多尺度熵 MSEn=log(ph2/ph3) %% %% %% %% |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有27人回复
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
|
2楼2016-02-04 15:13:45












谢了)
回复此楼