資源簡介
香農編碼的matlab源程序。先將所有信源符號的概率按其概率的遞減次序排列,然后計算每個信源符號的二元碼碼長,最后計算每個信源符號的累加概率,并變換成二進制小數得到其碼字。
代碼片段和文件信息
function??C=shannon(p)
p=[0.02?0.10?0.15?0.16?0.17?0.19?0.21];
[mn]=sort(p);
m=fliplr(p);???%m表示將所有信源符號的概率得到的遞減次序排列
a=length(m);
for?i=2:a
????F(1)=0;
????F(i)=m(i-1)+F(i-1);
end
L=ceil(-log2(m));
C=cell(1a
- 上一篇:pso_svm matlab
- 下一篇:JPEG matlab 壓縮
評論
共有 條評論