我在使用 huffmandict 和 huffmanenco 时遇到问题。
这是我的错误:
错误:huffmanenco:SIG 的所有元素必须是 [1,N] 范围内的整数
这是我的代码:
inputSig = [1 1 2 6 6 6 6 4 5 5];
list_symb = [1 2 6 4 5];
list_proba = [0.2, 0.1, 0.4, 0.1, 0.2];
dict = huffmandict(list_symb,list_proba);
code = huffmanenco(inputSig,dict);
我的字典是
dict =
{
[1,1] = 1
[1,2] = 0 1
[1,3] = 0 0 1
[1,4] = 0 0 0 0
[1,5] = 0 0 0 1
}
所以我的错误在于
code = huffmanenco(inputSig,dict);
因为我的 dict 的长度是 5,而我的 inputSig 的长度是 10。
如何在没有此错误的情况下进行霍夫曼编码?
但是,这段代码似乎可以在 Matlab 上运行。