function [vystup] = shlukova_analyza(vstup)
fvz=500;
EE = pdist(vstup','euclidean');% vypocet auklidovskych vzdalenosti mezi vsemi objekty ve vektoru
D = linkage(EE,'single'); %vytvoreni shluku pomoci metody nejblizsiho souseda single linkage
T = cluster(D,'cutoff',0.28,'criterion','distance')'; %rozdeleni do shluku, kde minimalni vzdalenosti mezi shluky je odhadem 0.7s
[uT,oT] = unique(T,'first'); % zjisteni poctu shluku
[~,pos] = sort(oT); % zjisteni poradi shluku

%ukladani jednotlivych shluku do bunkoveho pole
shluky = cell(1,length(uT));%vytvoreni bunkoveho pole s 1 radkem a poctem sloupce odpovidajicim shlukum

for i = 1:length(uT)
        shluky{1,i} = vstup(T==pos(i));
       
        %vyber shluku podle podminky-minimalne polovina svodu
        if length(shluky{1,i})>=6
           gp{1,i} = shluky{1,i};
        end
end

globalni_pozice = gp(~cellfun(@isempty, gp)) ; %odstraneni prazdnych bunek
         
%hledani globalnich pozic jako medianu
 for j=1:length(globalni_pozice)
     R_globalni(j)=median(globalni_pozice{1,j});
 end

%globalni pozice v prepoctu na vzorky
 for i=1:length(R_globalni)
     vystup(i)=round(R_globalni(i)*fvz);
 end 

%vykresleni dendrogramu
figure
prah = 0.1; %prah 100 ms 0.1
p=0;%ovlivnuje pocet vetvi dendragramu

Labels = [];
 for i = 1:length(vstup);
   p = p+1;
   Labels{p} = num2str(vstup(i));  %vektor ciselnych hodnot, ze kterych jsou ty pozice
 end

p=0;%parametr-urcuje maximalni pocet uzlu 
dendrogram(D,p,'colorthreshold',prah);
xlabel('Pozice detekovanych QRS komplexu,[-]')
ylabel('Euklidovske vzdalenosti mezi jednotlivymi QRS komplexy,[s]')
hold on
plot([0 100],[prah prah],'--')
hold off

end

