📄 huffman.asv
字号:
clear all;
GeneradorDeProb;
GeneradorDeAlfabeto;
ordenAnterior;
new(ordenAnterior)=CodigoGenerado;%Se copia el codigo generado la nueva variable
MsgCodificado='';%En esta variable se almacenara el mensaje codificado
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% En esta seccion se realiza la concatenacion de las palabras codigos
%Se toma la posicion k de MsgBitsT, se compara con los mensajes posibles, y
%una vez que es localido a que mensaje corresponde, en MsgCodificado se
%concatena la palabra codigo que corresponde al mensaje.
for k=1:1:length(MsgBitsT)
for j=1:1:length(MsgValidos);
if (MsgBitsT(k)==MsgValidos(j));
MsgCodificado=strcat(MsgCodificado,cell2mat(new(j)));
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
longitudOriginal=length(MsgBitsT);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%En esta seccion se realiza los ajustes de las longuitudes para que sea
%congruente con la longuitud del archivo origuinal
switch J
case{2}
longitudOriginal=longitudOriginal/4;
longitudMsgCodificado=length(MsgCodificado)/8;
case{4}
longitudOriginal=longitudOriginal/2;
longitudMsgCodificado=length(MsgCodificado)/8;
case{8}
longitudOriginal=longitudOriginal/1;
longitudMsgCodificado=length(MsgCodificado)/8;
case{16}
longitudOriginal=longitudOriginal*2;
longitudMsgCodificado=length(MsgCodificado)/8;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Despliegue Enpantalla------------------------------------------------------------------
disp(strcat('Probabilidades= ',num2str(prob)))
disp(CodigoGenerado)
disp(strcat('H(X) = ',num2str(entropia)))
disp(strcat('R(X) = ',num2str(redundancia)))
disp(strcat('u(X) = ',num2str(eficiencia)))
disp(strcat('Tama駉 Original= ',num2str(longitudOriginal),' bytes'))
disp(strcat('Tama駉 codificado = ',num2str(longitudMsgCodificado),' bytes'))
PorcentajeDeComprecion=100-(longitudMsgCodificado/longitudOriginal)*100;
disp(strcat('Porcentaje de Compresion = ',num2str(PorcentajeDeComprecion),' %'))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -