Сгенерируйте словарь Кода Хаффмана для источника с известной вероятностной моделью
[dict,avglen] = huffmandict(symbols,p)
[dict,avglen] = huffmandict(symbols,p,N)
[dict,avglen] = huffmandict(symbols,p,N,variance)
huffmandict функция генерирует словарь Кода Хаффмана, соответствующий источнику с известной вероятностной моделью. Необходимые входные параметры
symbols, который перечисляет отличные значения сигналов, которые производит источник. Это может иметь форму числового вектора, числового массива ячеек или алфавитно-цифрового массива ячеек. Если это - массив ячеек, это должна быть или строка или столбец.
p, вектор вероятности, k-й элемент которого является вероятностью, с которой источник производит k-й элемент symbols. Длина p должен равняться длине symbols.
Выходные параметры huffmandict
dict, массив 2D ячейки столбца, в который первые списки столбцов отличные значения сигналов от symbols и вторые списки столбцов соответствующие кодовые комбинации Хафмана. Во втором столбце каждая кодовая комбинация Хафмана представлена как числовой вектор-строка.
avglen, средняя длина среди всех кодовых комбинаций в словаре, взвешенном согласно вероятностям в векторном p.
[dict,avglen] = huffmandict(symbols,p) генерирует бинарный словарь Кода Хаффмана с помощью максимального алгоритма отклонения.
[dict,avglen] = huffmandict(symbols,p,N) генерирует N- словарь Кода Хаффмана ary с помощью максимального алгоритма отклонения. N целое число между 2 и 10, который не должен превышать количество исходных символов, вероятности которых появляются в векторном p.
[dict,avglen] = huffmandict(symbols,p,N, генерирует словарь Кода Хаффмана Не с минимальным отклонением если variance)variance 'min' и максимальное отклонение, если variance 'max'N целое число между 2 и 10, который не должен превышать длину векторного p.
[1] Sayood, Халид, введение в сжатие данных, Сан-Франциско, Моргана Кофманна, 2000.