Documentos de Académico
Documentos de Profesional
Documentos de Cultura
j = 1;
for i = 1:1:256*256
if (ASCII2(i) ~= 0) %se descarta el cero porque log0 no existe
Prob = ASCII2(i)/length(lettersTransposed2);
H2 = H2 + Prob*log2(1/Prob); %calculando entropía de segundo orden
P2(j) = Prob; %Llenando el arreglo P2[]
S2(j) = i; %Llenando el arreglo S2[]
j = j + 1;
end
end
Después hay que hacerle una segunda decodificación porque los símbolos están
agrupados como 2 caracteres cada uno de 8 bits dando un símbolo de 16 bits. Se
Utiliza el siguiente código.
for i = 1:1:length(lettersTransposed2)
a = bitshift(uint16(lettersTransposed2(i)),-8);
b = bitshift(uint16(lettersTransposed2(i)),+8);
b = bitshift(uint16(b),-8);
FinalDECO2(i*2-1) = a;
FinalDECO2(i*2) = b;
end
Al igual que en la primera parte del texto no se muestra el código para comprobar que
el texto decodificado es idéntico al original porque se supone que lo sea ya que las
funciones de codificación/decodificación están implementadas como una función por
defecto de Matlab.