Instituto Politécnico Nacional
Introducción a los Sistemas de Comunicación Seguros
Unidad MISTI Culhuacan
Presentado a: Dr. Gualberto Aguilar Torres
Algoritmo de comprensión
LZW
11
Por: Yango Alexander Colmenares
Fecha
Octubre de 2013
%% INSTITUTO POLITECNICO NACIONAL-MISTI CULHUACAN --- MEXICO DF 2013
%%Desarrollado por:Yango Colmenares
%Presentado a : Dr. Gualberto Aguilar Torres
%Programación en Matlab
%Codigo Lzw
clc;
clear all;
%%%SE ESTABLECEN CARACTERES VALIDOS Y COLUMNAS DE ASIGNACIÓN
llaves =
{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q',
'r','s','t','u','v','w','x','y','z'};
valores =
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}
;
dicc = containers.Map(llaves, valores);
diccR = containers.Map(valores, llaves);
%%%MENSAJE A CODIFICAR CON PALABRAS REPETITIVAS CARACTERES ACEPTADOS POR
EL
%%%PROGRAMA
M = 'MIRAMESINMIRARMIRIAM';
M = lower(M);
M(ismember(M,' ,.:;!')) = [];
subcad = '';
outV = [];
for i=1:length(M)
subcad = strcat(subcad, M(i));
if ~isKey(dicc, subcad)
dicc(subcad) = length(dicc) + 1;
outV = [outV dicc(subcad(1:end - 1))];
subcad = subcad(end:end);
end
if i == length(M)
outV = [outV dicc(subcad)];
end
end
%%%MENSAJE A CODIFICAR CON SALIDA
disp('Resultado de la Codificación:');
disp(outV);
%%%MENSAJE A CODIFICAR CON SALIDA
dicc = containers.Map(llaves, valores);
subcad = '';
subV = [];
outC = '';
for i=1:length(outV)
subcad = strcat(subcad, diccR(outV(i)));
subV = [subV outV(i)];
subcadCell = repmat(subcad,length(subcad),1);
subcadCell = cellstr(char(subcadCell .*
tril(ones(length(subcadCell)))));
j = find(~dicc.isKey(subcadCell),1,'first');
if j > 0
dicc(subcadCell{j}) = length(dicc) + 1;
diccR(length(dicc)) = subcadCell{j};
subcad = diccR(subV(end:end));
outC = strcat(outC, diccR(subV(1:1)));
subV = subV(2:end);
end
if i == length(outV)
outC = strcat(outC, subcad);
end
end
disp('Decodificación:');
disp(outC);

Algoritmo comprensión lzw(yango colmenares)

  • 1.
    Instituto Politécnico Nacional Introduccióna los Sistemas de Comunicación Seguros Unidad MISTI Culhuacan Presentado a: Dr. Gualberto Aguilar Torres Algoritmo de comprensión LZW 11 Por: Yango Alexander Colmenares Fecha Octubre de 2013 %% INSTITUTO POLITECNICO NACIONAL-MISTI CULHUACAN --- MEXICO DF 2013 %%Desarrollado por:Yango Colmenares %Presentado a : Dr. Gualberto Aguilar Torres %Programación en Matlab %Codigo Lzw clc; clear all; %%%SE ESTABLECEN CARACTERES VALIDOS Y COLUMNAS DE ASIGNACIÓN llaves = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q', 'r','s','t','u','v','w','x','y','z'}; valores = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27} ; dicc = containers.Map(llaves, valores); diccR = containers.Map(valores, llaves); %%%MENSAJE A CODIFICAR CON PALABRAS REPETITIVAS CARACTERES ACEPTADOS POR EL %%%PROGRAMA M = 'MIRAMESINMIRARMIRIAM'; M = lower(M); M(ismember(M,' ,.:;!')) = []; subcad = ''; outV = []; for i=1:length(M) subcad = strcat(subcad, M(i)); if ~isKey(dicc, subcad) dicc(subcad) = length(dicc) + 1; outV = [outV dicc(subcad(1:end - 1))]; subcad = subcad(end:end); end if i == length(M)
  • 2.
    outV = [outVdicc(subcad)]; end end %%%MENSAJE A CODIFICAR CON SALIDA disp('Resultado de la Codificación:'); disp(outV); %%%MENSAJE A CODIFICAR CON SALIDA dicc = containers.Map(llaves, valores); subcad = ''; subV = []; outC = ''; for i=1:length(outV) subcad = strcat(subcad, diccR(outV(i))); subV = [subV outV(i)]; subcadCell = repmat(subcad,length(subcad),1); subcadCell = cellstr(char(subcadCell .* tril(ones(length(subcadCell))))); j = find(~dicc.isKey(subcadCell),1,'first'); if j > 0 dicc(subcadCell{j}) = length(dicc) + 1; diccR(length(dicc)) = subcadCell{j}; subcad = diccR(subV(end:end)); outC = strcat(outC, diccR(subV(1:1))); subV = subV(2:end); end if i == length(outV) outC = strcat(outC, subcad); end end disp('Decodificación:'); disp(outC);