香农的matlab编码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

%clearall;clc;p=input('Pleaseinputp(x):');%只能对单符号二进制编码p=sort(p,'descend');n=length(p);Hx=0;fori=1:n%求解熵Hx=Hx-(p(i))*log2(p(i));endhp=0;xn=[0];fori=2:n%求解p(aj)xn(i)=hp+p(i-1);hp=xn(i);endzn=[];fori=1:n%求解位数Kzn(i)=ceil(-log2(p(i)));endaa=0;fori=1:n%求解均值码Kaa=aa+p(i)*zn(i);endnn=Hx/aa*100;fori=1:ncn=0;tn=zeros(1,zn(i));bn=0;%tnis单个编码forj=1:zn(i)bn=2^j;cn=cn+1/bn;%bn是不同阶的判断条件ifxn(i)cncn=cn-1/bn;continue;endifxn(i)=cntn(j)=1;endendtn%显示编码enddisp(['信息熵(H(X))=',num2str(Hx)]);disp(['平均码长K=',num2str(aa)]);disp(['编码效率n=',num2str(nn)]);

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功