概述
调用的函数:
function Hx=yyshang(y,duan)
x_min=min(y);
x_max=max(y);
maxf(1)=abs(x_max-x_min);
maxf(2)=x_min;
duan_t=1.0/duan;
jiange=maxf(1)*duan_t;
% for i=1:10
% pnum(i)=length(find((y_p>=(i-1)*jiange)&(y_p
% end
pnum(1)=length(find(y<maxf(2)+jiange));
for i=2:duan-1
pnum(i)=length(find((y>=maxf(2)+(i-1)*jiange)&(y<maxf(2)+i*jiange)));
end
pnum(duan)=length(find(y>=maxf(2)+(duan-1)*jiange));
%sum(pnum)
ppnum=pnum/sum(pnum);%每段出现的概率
%sum(ppnum)
Hx=0;
for i=1:duan
if ppnum(i)==0
Hi=0;
else
Hi=-ppnum(i)*log2(ppnum(i));
end
Hx=Hx+Hi;
end
end
调用函数的代码:
sig=[1
-1
-1
-1
-1
-1
1
-1
-1
1
1
1
-1
1
-1
1
1
-1
-1
1
-1
-1
-1
-1
1
-1
1
1
1
1
-1
1
-1
1
-1
-1
-1
-1
-1
-1
1
1
-1
-1
-1
-1
-1
-1
-1
1
1
-1
1
-1
1
1
-1
1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1
1
-1
1
1
-1
1
-1
-1
-1
-1
1];
Hx=yyshang(sig,100)
最后
以上就是甜美跳跳糖为你收集整理的matlab求一维数据的信息熵的全部内容,希望文章能够帮你解决matlab求一维数据的信息熵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复