我是靠谱客的博主 甜美跳跳糖,最近开发中收集的这篇文章主要介绍matlab求一维数据的信息熵,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

调用的函数:


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求一维数据的信息熵所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部