function [mat_prislusnosti]=c_means_komplet(signal,tm,V,q,E,K,jmeno)
%fuzzy shlukovaci funkce c-means
%vstupy: signal- vstupni signal
%        tm- cas
%        V - pocatecni poloha centroidu, pokud zadate 'x', nastavi se defaultni hodnoty
%        q - neostrost hranic, pokud zadate 'x', nastavi se defaultni hodnoty 2 
%        E, K, podminky ukonceni, K - maximalni pocet iteraci, E- minimalni
%        rozdil mezi dvema iteracemi centroidu 
%        jmeno - nazev figer
%
%        je signal normalizovany/standartizovany ? 
%        grafy: V1-modra, V2-cervena, V3-zluta

if size (signal,1)> size(signal,2)
   A= signal';
else A= signal;
    
end

if size (tm,1)> size(tm,2)
   tm=tm';
else tm=tm;
    
end

if V==['x']
   V=[0.2, 0.4, 0.6]
end

if q==['x']
   q=2
end
iterace=0;
stop=0;


jmenoplot=[jmeno,'-plot']
jmenostem=[jmeno,'-stem']

while stop~=1
%% vypocet vzdalenosti    
for i=1:1:size(A,2)
    
    for k=1:1:size (V,2)
        
        pom= A(:,i)-V(:,k);
        pom=pom.^2;
        pom=sum (pom);
        pom=sqrt(pom);
        vzdalenost(k,i)=pom;
       
    end
end
        

%vzdalenost=vzdalenost';

% radky V (centroidy)
% sloupce objekty

%% vzpocet matice prislusnosti
for o=1:1:size(A,2)

for l=1:1:size(V,2)
    citatel=vzdalenost(l,o);
    citatel=citatel.^((-1)/(q-1));
    
    jmenovatel=vzdalenost(:,o);
    jmenovatel=jmenovatel.^((-1)/(q-1));
    jmenovatel=sum(jmenovatel);
    
    mat_prislusnosti(l,o)=citatel/jmenovatel;
end
end


%% prepocet centroidu
citatel=[];
jmenovatel=[];
new_V=[];

for g=1:size(V,1)
for h=1:size(V,2)

      citatel=mat_prislusnosti(h,:).^q;
      citatel=citatel.*A(g,:);
      citatel=sum(citatel);
      
      jmenovatel= mat_prislusnosti(h,:).^q;
      jmenovatel= sum(jmenovatel);
      new_V(g,h)= citatel/jmenovatel;
end
end

%% podminky ukonceni
  iterace=iterace+1;
  
 if E>= abs(V-new_V)
     stop=1;
     disp ('pocet_iteraci:')
     disp(iterace)
%      figure ('Name',jmenoplot)
%      plot (tm,mat_prislusnosti)
%      figure ('Name',jmenostem)
%      stem (tm',mat_prislusnosti')
     
 else V=new_V;
 end
 
 if iterace == K
     stop=1;
     disp ('pocet_iteraci:')
     disp(iterace)
%      figure ('Name',jmenoplot)
%      plot (tm,mat_prislusnosti)
%      figure ('Name',jmenostem)
%      stem (tm',mat_prislusnosti')
 end
end
end