Pregunta: | 67747 - AYUDA MATLAB HUFFMAN |
Autor: | DIEGO ERAZO |
Hola nuevamente, Estoy tratando de realizar un codigo que codifique información con huffman, lo que tengo es lo siguiente: symbols = [1:4]; p = [.1 .1 .1 .7]; [dict,avglen] = huffmandict(symbols,p); comp = huffmanenco(symbols,dict) El asunto es que la sodificación de huffman codifica un alfabeto en este caso el vector symbols y utilizando sus probabilidades, el vector p, codifica el vector symbolos en binario y el resultado es: comp = 1 0 1 1 0 0 1 1 0 donde el último 0=4; el 11 anterior al último 0 es 3, el 100 anterior al 11 es 2 y el 101 anterior a 100 es 1.... espero me entiendan... quedaría asi: 4=0 3=11 2=100 1=101 esto NO son las trasnformaciones de decimal a binario de estos numeros, sino la codificacion en binario de este vector para poderlo trnasmitir por digital. Bueno, el asunto es que el qcodigo que les muestro me bota: comp = 1 0 1 1 0 0 1 1 0 y lo que necesito es tenerlo de la forma: comp = 1 0 1 1 0 0 1 1 0 o al revés, pero no se como hacerlo. Se que debo usar un bucle FOR pero al depender del vectro symbols y del vector p no me sale.... El vector symbols puede ser cualquier tipo de texto y el vector p son las probabilidades de cada letra del texto que ya calculo con anterioridad pero hasta alli. no puedo sacarlo de la forma que necesito... por favor ayudarme a resolver este lío.... muchas gracias de antemano. |