matlab赫夫曼编码怎么出结果(matlab怎么将一个序列的周期延拓)

matlab赫夫曼编码怎么出结果(matlab怎么将一个序列的周期延拓)

首页维修大全综合更新时间:2024-03-01 12:48:50

matlab赫夫曼编码怎么出结果

赫夫曼编码是我们经常使用的一种类型编码,它是一种即时码,有很多优点,下面我们使用matlab语言来实现huffman编码的过程。

首先,我们输入一组概率,这里以[0.512 0.128 0.128 0.032 0.128 0.032 0.032 0.008]为例。

P=[0.512 0.128 0.128 0.032 0.128 0.032 0.032 0.008];%输入

l=length(P);

n=2*l-1;%节点总个数

1

2

3

1

2

3

并计算需要的节点数。

接着我们定义编码结果元胞,来记录一些信息。

cell=zeros(n,5);%节点,有编号、概率、分配的码元、组成1、组成2.

1

1

接着初始化元胞

for i=1:l

cell(i,:)=[i,P(i),3,0,0];%3,0,0是坏值

end

for i=l+1:n

cell(i,:)=[i,0,3,0,0];

end

1

2

3

4

5

6

1

2

3

4

5

6

上面的cell元胞是最终结果,而参与运算的是当前运算元胞,不是cell,我们来定义当前运算元胞

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.