function [EC1,EC2,EC3,TGE] = TasaErrorDiscLin3(X1,X2,X3)

%TasaErrorDiscLin3
% Estimacion de la tasa de error en la regla discriminante lineal con tres
% poblaciones con muestras X1, X2 y X3.
% Devuelve 
% EC1 = probabilidad de clasificar un dato de la poblacion 1 en otra poblacion; 
% EC2 = probabilidad de clasificar un dato de la poblacion 2 en otra poblacion; 
% EC3 = probabilidad de clasificar un dato de la poblacion 3 en otra poblacion; 
% TGE = tasa global de error.

[n1,p] = size(X1) ; [n2,p] = size(X2) ; [n3,p] = size(X3) ;
Poblacion1 = zeros(n1,1) ; Poblacion2 = zeros(n2,1) ; Poblacion3 = zeros(n3,1) ;

for i =1:n1
    if i == 1
        X1menos1 = X1([2:end],:) ;
    else
        X1menos1 = X1([1:i-1,i+1:n1],:) ;
    end
    Poblacion1(i) = (LinealDiscrim3(X1(i,:),X1menos1,X2,X3)~=1) ;
end    

for i =1:n2
    if i == 1
        X2menos1 = X2([2:end],:) ;
    else
        X2menos1 = X2([1:i-1,i+1:n2],:) ;
    end
    Poblacion2(i) = (LinealDiscrim3(X2(i,:),X1,X2menos1,X3)~=2) ;
end    

for i =1:n3
    if i == 1
        X3menos1 = X3([2:end],:) ;
    else
        X3menos1 = X3([1:i-1,i+1:n3],:) ;
    end
    Poblacion3(i) = (LinealDiscrim3(X3(i,:),X1,X2,X3menos1)~=3) ;
end    
m1 = sum(Poblacion1); m2 = sum(Poblacion2) ; m3 = sum(Poblacion3) ;
EC1 = m1/n1 ; EC2 = m2/n2 ; EC3 = m3/n3 ;
TGE = (m1+m2+m3)/(n1+n2+n3) ;