Está en la página 1de 3

%progrmar perceptron en matlab

%funcion AND
%Robert D. Diaz

clc
clear all

%Tabla de verdad de la conpuerta and


x=[0 0 1 1;0 1 0 1];
%definir el umbral
b=[1 1 1 1];
%definir la salida
y=[0 1 1 1];
%creamos la matriz de ponderacion
P=[x;b];

%Ingresamos una matriz de pesos sinapticos aleatorios [-1 1]


y un
%bias para los pesos
Wo=[0.8;0.5;-2];
%w1= 0.8, w2=0.5 y el bias de los pesos b=-2
%estos valores se pueden ajustar y cambiar, se inicializan
aleatroiamente
%Defifnimos el numero de epocas
iter=10;

%comenzamos el entrenamiento

for epocas=1:iter %repitiendo codigo 10 veces


ep=0; %alamcene el numero de errores que
comente la red
for i=1:length(P) % Repetir de 1 hasta 4
a=hardlim(Wo'*P(:,i)); %Generar la respuesta
e=y(i)-a; %error de lared de perceptron salida
deseada - salida de la red

“Formando líderes para la construcción de un nuevo país en paz”


Universidad de Pamplona
Pamplona - Norte de Santander - Colombia 1
Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750
SC-CER96940 www.unipamplona.edu.co
Wo=Wo+e*P(:,i); % calculamos los nuevos pesos
sinapticos
if e>0 || e<0
ep=ep+1
end
end
if ep==0;
break;
end
end
%Representamos los pesos
W=[Wo(1) Wo(2)]
%representamos la bias
b=Wo(3)
%cantidad de errores cometidos
ep

%graficar el patron
plotpv(x,y)

%Para graficar la frontera de decision usamos la funcion


plotpc
plotpc(W,b)

“Formando líderes para la construcción de un nuevo país en paz”


Universidad de Pamplona
Pamplona - Norte de Santander - Colombia 2
Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750
SC-CER96940 www.unipamplona.edu.co
“Formando líderes para la construcción de un nuevo país en paz”
Universidad de Pamplona
Pamplona - Norte de Santander - Colombia 3
Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750
SC-CER96940 www.unipamplona.edu.co

También podría gustarte