声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2958|回复: 10

[混合编程] 求肌电信号近似熵的程序,大家帮忙看下有问题吗

[复制链接]
发表于 2011-3-14 14:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
对一组数据分别求近似熵,有的可以求出来有的却不存在,是数据不好还是别的什么原因呢
NaN
Inf
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
得到结果是这个样子的%
function ApEnvalue = ApEn1(x)
n=length(x);
sd=std(x);
r=0.2*sd;
for ii=1:2
   m=ii+1;
  num=zeros(n-m+1,1);
  for i=1:n-m+1
   for j=1:n-m+1
    if j~=i
     for k=1:m
   d(k)=abs(x(i+k-1)-x(j+k-1));
     end
   d1=max(d);
    if d1<r
   num(i,1)=num(i,1)+1;
    end
    end
  end
c0(i)=num(i,1)/(n-m);
c1(i)=log(c0(i));
end
sc=sum(c1);
fi(ii)=sc/(n-m+1);
end
   ApEnvalue=fi(1)-fi(2);
这个是求近似熵的程序,大家帮忙看下有问题吗
回复
分享到:

使用道具 举报

发表于 2011-3-14 20:51 | 显示全部楼层
也是希望LZ的问题能有回应并解决! 建议先看下这两帖!

建议提问的网友分清 编程问题 和 专业问题
http://forum.vibunion.com/forum/ ... p;extra=&page=1
提问的智慧!!!!(发帖前请认真阅读)
http://forum.vibunion.com/forum/viewthread.php?tid=21991
 楼主| 发表于 2011-3-25 11:29 | 显示全部楼层
回复 2 # ChaChing 的帖子

我承认我是个菜鸟,但是请你也尊重一下人。问题已经解决了
发表于 2011-3-25 16:29 | 显示全部楼层
ChaChing老哥只是帮助你学会提问,毕竟这里的人不都是和你一个专业。别人的善意提醒如果当成对你的不尊重,那么恐怕以后很少有人敢回答你的问题了,搞不好被落下个不尊重的恶名。
PS:对事不对人,楼主千万别以为我不尊重你,说实话我很尊重。战战兢兢回完这个帖了。
发表于 2011-3-25 16:58 | 显示全部楼层
回复 1 # xuanmengx 的帖子

真是难以理解,不知道什么地方不尊重你了
我刚开始的时候,也看过这些帖子
专业的问题,和编程的问题是两回事
以我的能力,我没有办法解决你的问题
除非你给出专业方面的指导
发表于 2011-3-25 23:47 | 显示全部楼层
回复 3 # xuanmengx 的帖子

1.申明下绝没不尊重的意思, 或许用词不当, 请体谅
2.其实我是看过LZ的所有帖, 或许个人水平/专业有限, 真的没看清LZ的许多帖
3.如这帖, 输入x是什麼? 别人不好试吧
4.请LZ试著忘记自己的专业, 再试看看, 是否能了解? 或许LZ较力, 但我是真的不行!

总归也是希望LZ的问题能有回应并解决! 没恶意
BTW, 谢谢楼上两位大牛帮忙解释
发表于 2011-3-25 23:49 | 显示全部楼层
 楼主| 发表于 2011-5-10 16:48 | 显示全部楼层
回复 4 # rocwoods 的帖子

不好意思,现在才看到这个,知道错了,请见谅。
 楼主| 发表于 2011-5-10 16:49 | 显示全部楼层
回复 5 # qibbxxt 的帖子

谢谢提醒,我知道了
 楼主| 发表于 2011-5-10 16:58 | 显示全部楼层
回复 6 # ChaChing 的帖子

谢谢你的建议,我不懂规则,那个是程序有点问题
function [ApEn_value,C_m,C_m_1] = ApEn(data,m,r_factor)

% Estimate the Aproximate Entropy (ApEn) of a data.
% m=1 or m=2
% r between 0.1*SD and 0.25*SD, where SD is the data standard deviation
% N (data length) between 75 and 5000;
% [ApEn_value] = ApEn(data,m,r);

% Input variables:
% data - data
% m - pattern length
% r_factor - factor of the criterion of similarity   r_factor*std(data)

% Output variables:
% ApEn_value - ApEn calculated from the data

% Optional output variables:
% C_m
% C_m_1
m=2;r_factor=0.3;
%x=load('E:\Noraxon data\14严碧英\行走');
%x=x.Data{1,1}(2501:3500,1);%周期提取
%data=2*(x-min(x))/(max(x)-min(x))-1;%幅值归一
N=length(data);
% C computation for the "m" pattern.
[C_m] = C_m_computation(data,m,r_factor);
% C computation for the "m+1" pattern.
[C_m_1] = C_m_computation(data,m+1,r_factor);


% Phi’s computation.
phi_m=mean(log(C_m));
phi_m_1=mean(log(C_m_1));
% Final ApEn computation.
ApEn_value=[phi_m-phi_m_1];


% -------------------------------------------------------------------
function [C_im] = C_m_computation(data,m,r_factor)
X=[];C_im=[];n_im=[];max_dif=[];
N=length(data);

% Construction of the X’s vectors.
for j=1:N-m+1
X(j,:)=data(j:j+m-1);
end

% C computation.
for j=1:N-m+1
aux1=repmat(X(j,:),N-m+1,1);
dif_aux=abs(X-aux1);
n_im=0;
for k=1:N-m+1
if max(abs(dif_aux(k,:)))<r_factor*std(data)
n_im=n_im+1;
end
end
C_im=[C_im; n_im/(N-m+1)];
end
这个是更新后的程序,其中的输入是一组一维数据
发表于 2012-11-20 16:42 | 显示全部楼层
这个数据的点数限制的比较死啊,我们做的实验采样信号数据达到了3W+的点。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-10 23:41 , Processed in 0.069003 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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