%tento kód nelze spustit, nejdříve je nutné nacist (naimportovat) rychlosti vozidel z realnych dat do data1
fis=readfis("FuzzyTempomat.fis");

n=size(data1,1)-1
t=0.1

rychlost=data1.Speed4.*(3.6) %data s rychlostmi druheho vozidla
rychlost_pred=data1.Speed3.*(3.6) %data s rychlostmi prvniho vozidla
vzdalenost=data1.IVS3 %data o vzdalnostech vozidel

v0=rychlost(1) %pocatecni rychlost druheho vozidla bude nase pocatecni rychlost vozidla s fuzzy tempomatem
vzd0=vzdalenost(1) %pocatecni vzdalenost

vp=zeros(n,1) %predchozi vozidlo
vp=rychlost_pred

sklon=zeros(n,1) %sklon - uvazujeme rovinu
theta=zeros(n,1)

%dale stejne jako v souboru Testovani_systemu.m
v=zeros(n,1)
v(1)=v0;
vzd=zeros(n,1)
vzd(1)=vzd0;
m=1400;
Frr=206;
g=9.81
output=zeros(n,1)
for i=1:n
    input=[v(i) vp(i) vzd(i)] ;
    output(i) = evalfis(fis,input)/100;
    
    Fg=m*g*sind(theta(i));
    Fair=0.5*(v(i)/3.6)^2;
    if(output(i)<=0)
        F=output(i)*7000-Frr-Fair-Fg;
    else
        F=output(i)*4900-Frr-Fair-Fg;  
    end
    a=F/m;
    
    v(i+1)=(v(i)/3.6)+(a*t);
    if(v(i+1)<0)
        v(i+1)=0;
    end
    v(i+1)=v(i+1)*3.6;
    
    vzd(i+1)=vzd(i)+(((vp(i+1)+vp(i))/3.6)/2)*t-(((v(i+1)+v(i))/3.6)/2)*t;       
end
%grafy s porovnanim
bezpvzd=zeros(n,1);
bezpvzd=(v./3.6)*2;
figure(1)
plot(v, 'DisplayName','rychlost, fuzzy adaptivní tempomat')
hold on
plot(vp, 'DisplayName','rychlost předchozího')
hold on
plot(rychlost, 'DisplayName','rychlost, Tesla')
xlabel('čas (krok 0,1 sekundy)')
ylabel('rychlost [km/h]')
legend('location', 'best');
figure(2)
plot(vzd, 'DisplayName','vzdálenost - fuzzy adaptivní tempomat')
hold on
plot(bezpvzd, 'DisplayName','vzdálenost - odstup 2 sekundy')

hold on
plot(vzdalenost, 'DisplayName','vzdálenost - Tesla')
xlabel('čas (krok 0,1 sekundy)')
ylabel('vzdálenost [m]') 
legend('location', 'best');
figure(3)
plot(output)
xlabel('čas (krok 0,1 sekundy)')
ylabel('reakce fuzzy adaptivního tempomatu')