% José A. López Orozco

function neuronaGanadora = ganadora2(Pesos,Entrada)
%
% Cálculo de la neurona ganadora para la entrada dada
%
% PesosNeuronas:            (NxMxE) Representa la red SOM. Se le indica los 
%                           valores de los pesos de la entrada a cada una de 
%                           las neuronas. Existen NxM neuronas en un plano 
%                           de forma NxM. El tamaño del vector de entrada
%                           es de E.
% Entrada:                  (DxE) La entrada a la SOM para realizar el
%                           aprendizaje. Se introducen D vectores de tamaño
%                           E.
%

% APRENDIZAJE AUTOMÁTICO (Gonzalo Pajares y Jesús M. de la Cruz, Eds.)
% Editorial: RA-MA
% Capítulo 4: Redes Neuronales Artificiales
% Autores: José Antonio López Orozco


tamRed = size(Pesos);

neuronaGanadora = [];
distancia = Inf;

for i=1:tamRed(1)
    for j=1:tamRed(2)
        dist = sum(abs(reshape(Pesos(i,j,:),1,tamRed(3)) - Entrada));
        if dist < distancia
            distancia = dist;
            neuronaGanadora = [i,j];
        end
    end
end
