• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-10
  • 语言: Matlab
  • 标签: matlab  

资源简介

matlab 霍夫曼编码 方便可运行

资源截图

代码片段和文件信息

function [hl]=huffmancode(P)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%二元huffman编码 P为概率矢量,h为编码,l为编码平均长度
% P=[0.10.040.130.090.120.140.360.02];
% [hl]=huffmancode(P)
% 结果如下。
% 概率分布
% P =
% 0.3600 0.1400 0.1300 0.1200 0.1000 0.0900 0.0400 0.0200
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
P=input(‘输入概率:‘);
n=length(P);
for i=1:n-1
     for j=i+1:n
         if P(i)<=P(j)
             p=P(i);
             P(i)=P(j);
             P(j)=p;
         end
     end
end
disp(‘概率分布‘);
P
Q=P;
m=zeros(n-1n);
for i=1:n-1
     [Qb]=sort(Q);%sort函数是对Q进行升序排列,返回值l显示排序后位置的变动信息
     m(i:)=[b(1:n-i+1)zeros(1i-1)]

评论

共有 条评论