function incor = verchar(dig,Ruido,net)
% verchar(dig,Ruido,net)
%
% Ex2 - Reconhecimento de Caracteres com RNA
%
% Verifica a quantidade de caracteres reconhecidos de forma incorreta
% pela rede neural w1,b1,w2 b2
% para o conjunto de caracteres 'dig' ao qual a presente função acrescenta 
% um 'Ruido' percentual.
% 
% dig   - matriz 63x16, cada coluna => digito 9x7 
% Ruido - Porcentagem de Ruido
% net   - rede neural
% incor - numero de digitos classificaos incorretamente

% @Adolfo Bauchspiess - LAVSI/ENE/UnB 04/04/05

p = dig;

% Troca %Ruido bits nos digitos de entrada
BitsRuido=ceil(63*Ruido/100);
for l=1:16,
   noise_ind = ceil(rand(BitsRuido,1)*63);
   for i=1:BitsRuido,
      p(noise_ind(i),l)=not(p(noise_ind(i),l));
   end
end

% Mostra digitos com ruido
g=figure(2);
set(g,'Position',[0 200 500 200])
showchar(p);

% Mostra digitos reconhecidos pela RNA
a=sim(net,p);
a=full(compet(a));
% Monta matriz de digitos reconhecidos

for i=1:16, 
   pr(:,i)=dig(:,find(a(:,i))); 
end
g=figure(3); 
set(g,'Position',[0 400 500 200])
showchar(pr);

% conta caracteres incorretos
incor = 0;
for i=1:16,
   if a(i,i) ~= 1, incor = incor + 1; end
end
