
clear all; clc;
load poziceEKGvCSE2; % načtení referenčních hodnot
load vys_ort % zde se volí matice s výsledky, tyto mat soubory jsou u zdrojových kódů

%% připojení referenčního bodu do detekovaných
for i = 1 : size(KPP,1)
ZPP{i} = [ZPP{i,1} poziceEKGvCSE2(i,1)];
KPP{i} = [KPP{i,1} poziceEKGvCSE2(i,2)];
QQQ{i} = [QQQ{i,1} poziceEKGvCSE2(i,3)];
SSS{i} = [SSS{i,1} poziceEKGvCSE2(i,4)];
KTT{i} = [KTT{i,1} poziceEKGvCSE2(i,5)];
end
neco = 1;
%% shluková analýza hledá detekovaný bod který je nejblíže referenčnímu
for ii = 1 : 125
neco = shlukovka(ZPP{ii,1});
neco1 = shlukovka(KPP{ii,1});
neco2 = shlukovka(QQQ{ii,1});
neco3 = shlukovka(SSS{ii,1});
neco4 = shlukovka(KTT{ii,1});
zp{i,1} = neco;
kp{ii,1} = neco1;
q{ii,1} = neco2;
s{ii,1} = neco3;
kt{ii,1} = neco4;
end
%% převedení buňky na matici
for iii = 1:125
zpp=   cell2mat(zp{iii,1});
kpp=   cell2mat(kp{iii,1});
qq=   cell2mat(q{iii,1});
ss=   cell2mat(s{iii,1});
ktt=   cell2mat(kt{iii,1});
if size(zpp,2)==2
zppp(iii,:) = zpp;
end
if size(kpp,2)==2
kppp(iii,:) = kpp;
end
if size(qq,2)==2
qqq(iii,:) = qq;
end
if size(ss,2)==2
sss(iii,:) = ss;
end
if size(ktt,2)==2
kttt(iii,:) = ktt;
end
end
%% sečtení detekované pozice a referenční pozice
a = sum(zppp,2);
b = sum(kppp,2);
c = sum(qqq,2);
d = sum(sss,2);
e = sum(kttt,2);
%% výpočet odchylek pro všechny svody
for ind = 1: 125
    if a(ind) > 0
aa(ind,1) = a(ind)-poziceEKGvCSE2(ind,1)*2;
    end
    if b(ind) > 0
bb(ind,1) = b(ind)-poziceEKGvCSE2(ind,2)*2;
    end
    if c(ind) > 0
cc(ind,1) = c(ind)-poziceEKGvCSE2(ind,3)*2;
    end
    if d(ind) > 0
dd(ind,1) = d(ind)-poziceEKGvCSE2(ind,4)*2;
    end
    if e(ind) > 0
ee(ind,1) = e(ind)-poziceEKGvCSE2(ind,5)*2;
    end
end
%% vynulování bodů signálů které se neklasifikují
aa(10) = 0; aa(18)= 0; aa(10) = 0; aa(45)= 0; aa(52) = 0; aa(57)= 0;
aa(67) = 0; aa(70)= 0; aa(89) = 0; aa(92)= 0; aa(93) = 0; aa(100)= 0;
aa(103) = 0; aa(113)= 0; aa(120) = 0; 
bb(10) = 0; bb(18)= 0; bb(10) = 0; bb(45)= 0; bb(52) = 0; bb(57)= 0;
bb(67) = 0; bb(70)= 0; bb(89) = 0; bb(92)= 0; bb(93) = 0; bb(100)= 0;
bb(103) = 0; bb(113)= 0; bb(120) = 0; 
cc(67) = 0; cc(70)= 0; dd(67) = 0; dd(70)= 0; ee(67) = 0; ee(70)= 0;
%% výpočet průměru odchylek
aaa = sum(aa)/125; 
bbb = sum(bb)/125;
ccc = sum(cc)/125;
ddd = sum(dd)/125;
eee = sum(ee)/125;
%% přepočet na ms
aaaa = (aaa/5000)*10 % s pro začátek P vlny
bbbb = (bbb/5000)*10 % s pro konec P vlny
cccc = (ccc/5000)*10 % s pro začátek QRS
dddd = (ddd/5000)*10 % s pro konec QRS
eeee = (eee/5000)*10 % s pro konec T vlny

%% výpočet směrodatné odchylky
%% výpočet průměru
ma = aa-aaa; 
mb = bb-bbb;
mc = cc-ccc;
md = dd-ddd;
me = ee-eee;
%% výpočet vaiance
mma = ma.^2;
mmb = mb.^2;
mmc = mc.^2;
mmd = md.^2;
mme = me.^2;
mmma = sum(mma)/125; 
mmmb = sum(mmb)/125;
mmmc = sum(mmc)/125;
mmmd = sum(mmd)/125;
mmme = sum(mme)/125;
%% odmocnina z variance
mmmma = sqrt(mmma);
mmmmb = sqrt(mmmb);
mmmmc = sqrt(mmmc);
mmmmd = sqrt(mmmd);
mmmme = sqrt(mmme);
%% přepočet na ms 
sa = (mmmma/5000)*10 % s pro začátek P vlny
sb = (mmmmb/5000)*10 % s pro konec P vlny
sc = (mmmmc/5000)*10 % s pro začátek QRS
sd = (mmmmd/5000)*10 % s pro konec QRS
se = (mmmme/5000)*10 % s pro konec T vlny




