資源簡介
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)]
- 上一篇:秦九韶算法Matlab代碼
- 下一篇:4psk的用matlab的實現
評論
共有 條評論