Advertisement
Guest User

sexta

a guest
Oct 9th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 1.26 KB | None | 0 0
  1.     media1 = mean(c1,'r');
  2.     media2 = mean(c2,'r');
  3.     media3 = mean(c3,'r');
  4.  
  5.     c1 = matriz(1:50,1:4); //teste - tem que mudar
  6.     c2 = matriz(51:100,1:4);
  7.     c3 = matriz(101:150,1:4);
  8.    
  9.     cov1 = cov(c1);
  10.     cov2 = cov(c2);
  11.     cov3 = cov(c3);
  12.    
  13.     [a,b] = size(matriz);
  14.    
  15.     function g = discriminante(amostra,mat_cov,media,classe,total)
  16.        
  17.         [m,n]= size(classe)
  18.         g = -0.5*log(abs(mat_cov)) - 0.5*(amostra - media)'*inv(mat_cov)*(amostra - media) + log(m/total);
  19.        
  20.     endfunction
  21.    
  22.     classe1 = zeros(1,5);
  23.     classe2 = zeros(1,5);
  24.     classe3 = zeros(1,5);
  25.    
  26.     for i = 1:n
  27.        
  28.         g1 = discriminante(m_trei(i:i,1:4),cov1,media1,c1,a);
  29.         g2 = discriminante(m_trei(i:i,1:4),cov2,media2,c2,a);
  30.         g3 = discriminante(m_trei(i:i,1:4),cov3,media3,c3,a);
  31.        
  32.         if g1>=g2 & g1>=g3
  33.             classe1  = cat(1,classe1,m_trei(i:i,:));
  34.             x = x+1;
  35.         elseif g2>=d1 & g2>g3
  36.             classe2  = cat(1,classe2,m_trei(i:i,:));
  37.             y = y+1;
  38.         elseif g3>g1 & g3>g2
  39.             z = z+1;
  40.             classe3  = cat(1,classe3,m_trei(i:i,:));
  41.         end;
  42.        
  43.     end
  44.    
  45.     matriz = cat(1,classe1(2:x,:),classe2(2:y,:),classe3(2:z,:));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement