Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Cálculo de entropía para una fuente sin memoria

Enviado por   •  23 de Abril de 2018  •  1.063 Palabras (5 Páginas)  •  471 Visitas

Página 1 de 5

...

figure() ;

bar(l1)

title('Cantidad de información');

ylabel('I(x)');

xlabel('Caracteres');

set(gca,'Xtick',1:numel(ABC),'XTickLabel',{'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','[ ]'});

Se realizaron algunas modificaciones dentro del código, como el agregar la función bar() la cual genera la gráfica de barras de la probabilidad de cada símbolo, así como también la cantidad de información que contiene cada símbolo. A cada gráfica se le asignó su nombre y a los ejes también.

- Resultados obtenidos considerando la letra ‘ñ’[pic 13][pic 14]

Se le incluyó la letra ñ a la secuencia de nuestro abecedario. De igual forma obtuvimos la probabilidad de cada símbolo, su cantidad de información y la entropía de la fuente.

Como en el caso anterior, el espacio es el símbolo con mayor probabilidad, seguida por los símbolos ‘e’, ‘a’, y ‘o’.

En cuanto a la cantidad de información, el símbolo ‘x’ es el que contiene una mayor cantidad de información, aunque su probabilidad es una de las más pequeñas.

[pic 15] [pic 16][pic 17]

[pic 18]

[pic 19]

[pic 20]

[pic 21]

[pic 22][pic 23]

La letra ‘ñ’ provocó un cambio en la entropía muy pequeño, ya que la probabilidad de que sea emitida es muy pequeña, pero hablando de la cantidad de información, este símbolo nos otorga una gran cantidad de información de la fuente, y se puede observar que se encuentra dentro de las primeras letras con mayor cantidad de información.

Al incrementar la entropía sabemos que el promedio de información que nos da cada símbolo, aumentó ligeramente.

Código fuente:

clc; close all; clear all;

archivo = fopen('C:\Users\loren_000\Documents\Teoría de la Info\con_ñ\principito.txt','r');

cadena=fscanf(archivo,'%c'); % guardar archivo en un vector

numcaracteres=length(cadena); % numero de caracteres del archivo

% cierre de archivo

fclose(archivo);

% vector con 26 letras de 27 del español mas el espacio =27 simbolos

ABC=['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', ' '];

%vector de repeticiones por cada caracter

ABC0=zeros(1,length(ABC)); %vector para conteo de repeticiones de c/letra

cont=1;

for x=1:length(ABC);

rep=0; % variable donde se guarda el # de repeticiones de 'x' caracter

for y=1:length(cadena);

if cadena(y)==ABC(x);

rep=rep+1;

end

end

ABC0(cont)=rep; % guardo el # de repeticiones en el vector de conteo

cont=cont+1;

fprintf('\n %c repeticiones: %d', ABC(x), ABC0(x));

end

p1=zeros(1,length(ABC0));

l1=zeros(1,length(ABC0));

for x=1:length(ABC0);

p=(ABC0(x)./sum(ABC0)); % calculo de probabilidad

p1(x)=p;

l=log2(1/p); % cantidad de informacion por caracter

if l==Inf

l=0;

end

l1(x)=l;

fprintf('\n %c:\trepeticiones %f\t\tP=%f\t\t l=%f bits \n', ABC(x), ABC0(x), p, l);

end

% calculo de la entropia como fuente sin memoria

h=zeros(1,length(p1));

for x=1:length(p1);

h(x)=p1(x)*l1(x);

end

H=sum(h);

fprintf('\n ENTROPIA COMO FUENTE SIN MEMORIA= %f bits/simbolo \n', H);

figure();

bar(p1)

title('Probabilidad');

ylabel('P(x)');

xlabel('Caracteres');

set(gca,'Xtick',1:numel(ABC),'XTickLabel',{'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','[

...

Descargar como  txt (8.6 Kb)   pdf (57 Kb)   docx (17.8 Kb)  
Leer 4 páginas más »
Disponible sólo en Essays.club