Sei sulla pagina 1di 14

Cdigo:

%cargar matriz de un txt


[file,folder]=uigetfile('*.txt');
filename=fullfile(folder,file);
w1=load(filename);

%mostrar la matriz de patrones


disp('matriz patrones');
disp(w1);
[fA,cA]=size(w1);

%pedir vector de prueba


disp('Tamao de vector de prueba:');
disp(cA);
pt=input('Escribir vector de prueba:');
disp('vector prueba');
disp(pt);
L=length(pt);

%crear bias
bias=zeros(length(pt),1);
for i=1:+1.00:fA
bias(i,1)=L;
end
%mostrar bias
disp('Bias');
disp(bias);

%realizar primera parte dela RED HAMMING


res=w1*pt';
res=res+bias;
disp('vector Wp+b:');
disp(res);

%Obtener epsilon
epsilon=1/(fA-1);
disp('epsilon');
disp(epsilon);

matposl=zeros(length(res),length(res));
%Crear matriz epsilon
for i=1:+1.00:length(res)
for j=1:+1.00:length(res)
if i==j
matposl(i,j)=1;
else
matposl(i,j)=epsilon*-1;
end
end
end
%mostrar matriz epsilon
disp('matriz epsilon');
disp(matposl);
%a=zeros(length(res),1);
%[fC,cC]=size(matposl);

a=res;
x=false;
i=1;
t=0;

res1=a';
N=length(res1);
fid=fopen('vectores.txt','w'); %abrir archivo de vectores a graficar
fprintf(fid,res1); %escribir los valores del vector inicial
fclose(fid);%cerrar archivo de vectores a graficar

while(x==false)
t=t+1; %iteraciones
aux=a;%guardar vector para comparar con el vector de la iteraricon
t+1
a=poslin(matposl*a); %obtener el vector
disp('------------------------');
disp('Iteracion');
disp(t);
disp('Vector Resultante');
disp(a);
% ------------ GUARDAR LOS VALORES ESCRITOS EN EL ARCHIVO VECTORES.TXT
resp1=load('vectores.txt');
resp2=a';
[fB,cB]=size(resp1);
% ------------ ESCRIBIR VALORES GUARDADOS MS EL NUEVO VECTOR, EN
VECTORES.TXT
fid=fopen('vectores.txt','w'); %abrir archivo de vectores a
graficar
fprintf(fid,resp1); %escribir los valores del vector
fprintf(fid,'\n');
%ESCRIBIR ULTIMO VECTOR
fprintf(fid,resp2); %escribir el ultimo vector
fclose(fid);%cerrar archivo de vectores a graficar

% --------------- FIN DE ESCRITURA EN VECTORES.TXT


if aux==a
disp('****************************');
disp('Iteracion Final');
disp(t);
disp('vector final resultante:');
disp(aux);
disp('Clasificado en:');
disp(find(aux==max(max(aux))));
disp('Clasificacion completa');
disp('****************************');
x=true;
end

end
graficar=load('vectores.txt');
figure
plot(graficar); %matriz de vectores a graficar
xlabel('Iteraciones','FontSize',15); %pone ttulos al eje x
ylabel('Valores','FontSize',15); %pone ttulos al eje y
grid on; %agregamos una grilla
title('Red HAMMING'); %titulo de la grafica

Resultados

Con 5x6

matriz patrones

1 1 1 1 1

1 -1 1 -1 1

-1 1 -1 1 -1

-1 -1 1 1 -1

1 1 -1 1 1

-1 -1 -1 -1 -1

Tamao de vector de prueba:

Escribir vector de prueba:[0.12 0.3 -0.4 -0.26 0.6]

vector prueba

0.1200 0.3000 -0.4000 -0.2600 0.6000

Bias

5
5

vector Wp+b:

5.3600

5.2800

4.7200

3.3200

6.1600

4.6400

epsilon

0.2000

matriz epsilon

1.0000 -0.2000 -0.2000 -0.2000 -0.2000 -0.2000

-0.2000 1.0000 -0.2000 -0.2000 -0.2000 -0.2000

-0.2000 -0.2000 1.0000 -0.2000 -0.2000 -0.2000

-0.2000 -0.2000 -0.2000 1.0000 -0.2000 -0.2000

-0.2000 -0.2000 -0.2000 -0.2000 1.0000 -0.2000

-0.2000 -0.2000 -0.2000 -0.2000 -0.2000 1.0000

------------------------

Iteracion

Vector Resultante

0.5360

0.4400

0
0

1.4960

------------------------

Iteracion

Vector Resultante

0.1488

0.0336

1.3008

------------------------

Iteracion

Vector Resultante

1.2643

------------------------
Iteracion

Vector Resultante

1.2643

****************************

Iteracion Final

vector final resultante:

1.2643

Clasificado en:

Clasificacion completa
Con 3x4

>> hamming

matriz patrones

1 1 -1

-1 1 1

1 -1 1

-1 1 -1

Tamao de vector de prueba:

3
Escribir vector de prueba:[0.4 -0.32 0.6]

vector prueba

0.4000 -0.3200 0.6000

Bias

vector Wp+b:

2.4800

2.8800

4.3200

1.6800

epsilon

0.3333

matriz epsilon

1.0000 -0.3333 -0.3333 -0.3333

-0.3333 1.0000 -0.3333 -0.3333

-0.3333 -0.3333 1.0000 -0.3333

-0.3333 -0.3333 -0.3333 1.0000

------------------------

Iteracion

1
Vector Resultante

0.0533

1.9733

------------------------

Iteracion

Vector Resultante

1.9556

------------------------

Iteracion

Vector Resultante

1.9556

****************************

Iteracion Final

3
vector final resultante:

1.9556

Clasificado en:

Clasificacion completa

Con 4x4
>> hamming

matriz patrones

1 1 1 1

-1 1 1 -1

-1 -1 -1 1

-1 -1 1 -1

Tamao de vector de prueba:

Escribir vector de prueba:[-0.2 -0.56 -0.6 -0.87]

vector prueba

-0.2000 -0.5600 -0.6000 -0.8700

Bias

vector Wp+b:

1.7700

3.9100

4.4900

5.0300

epsilon

0.3333
matriz epsilon

1.0000 -0.3333 -0.3333 -0.3333

-0.3333 1.0000 -0.3333 -0.3333

-0.3333 -0.3333 1.0000 -0.3333

-0.3333 -0.3333 -0.3333 1.0000

------------------------

Iteracion

Vector Resultante

0.1467

0.9200

1.6400

------------------------

Iteracion

Vector Resultante

0.3244

1.2844

------------------------

Iteracion

3
Vector Resultante

1.1763

------------------------

Iteracion

Vector Resultante

1.1763

****************************

Iteracion Final

vector final resultante:

1.1763

Clasificado en:

4
Clasificacion completa

Potrebbero piacerti anche