信息论 哈弗曼码程序new.docVIP

  • 3
  • 0
  • 约4.69千字
  • 约 6页
  • 2016-11-29 发布于江西
  • 举报
信息论 哈弗曼码程序new

clear all; fprintf(单符号信源:\n a1 a2 a3 a4 a5 a6 a7\n); fprintf(各字符概率:\n); A=[0.20 0.19 0.18 0.17 0.15 0.10 0.01] I=A*A; BB=I(:); Q=BB; H=0; T=Q; [m,n]=size(Q); B=zeros(n,n-1);%空的编码表(矩阵) for i=1:n B(i,1)=T(i);%生成编码表的第一列 end r=B(i,1)+B(i-1,1);%最后两个元素相加 T(n-1)=r; T(n)=0; T=fliplr(sort(T)); t=n-1; for j=2:n-1 %生成编码表的其他各列 for i=1:t B(i,j)=T(i); end K=find(T==r); B(n,j)=K(end);%从第二列开始,每列的最后一个元素记录特征元素在该列的位置 r=(B(t-1,j)+B(t,j));%最后两个元素相加 T(t-1)=r; T(t)=0; T=fliplr(sort(T)); t=t-1; end END1=sym([0,1]);%给最后一列的元素编码 END=END1; t=3;

文档评论(0)

1亿VIP精品文档

相关文档