function MNC_3r_Hus_rev2

% Jednorazova metoda LSM model 3. radu, zpozdeni d=0
% Model G(s)=5/(s+1)(s+2)(s+0.5)
clc
clear

T0=0.1;

%sim ident_3rsp.mdl
for choice=1:6
%Načtení naměřených hodnot vstupu a výstupu
if (choice == 1)
    data_name='Data_MNC1.xls';
elseif (choice == 2)
    data_name='Data_MNC2.xls';
elseif (choice == 3)
    data_name='Data_MNC3.xls';
elseif (choice == 4)
    data_name='Data_MNC4.xls';
elseif (choice == 5)
    data_name='Data_MNC5.xls';
elseif (choice == 6)
    data_name='Data_MNC6.xls';
end
data=xlsread(data_name);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
u=data(:,1)-2.5;			%Nutno odečítat 2,5V (vrtule se netočí) - Petr Chalupa
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y=data(:,2);

N=length(u);

%d=0; n=3;

% Sloupce matice F
y1=-y(3:N-1);
y2=-y(2:N-2);
y3=-y(1:N-3);
u1=u(3:N-1);
u2=u(2:N-2);
u3=u(1:N-3);

% Vektor y
yp=y(4:N);

% Matice dat
F=[y1, y2, y3 u1, u2, u3];
  
theta=inv(F'*F)*F'*yp;

a1i=theta(1);
a2i=theta(2);
a3i=theta(3);
b1i=theta(4);
b2i=theta(5);
b3i=theta(6);

% Staticke zesileni
kz=0.5*(b1i+b2i+b3i)/(1+a1i+a2i+a3i)

%Identifikovaná soustava
G_ident = tf([b1i b2i b3i],[1 a1i a2i a3i],T0)


%Násobení vstupních hodnot *100 pro větší přehlednost
figure(choice)
plot([(u+2.5)*100, y])

%Vykreslení průběhů veličin v jednotlivých grafech
%Vzhledem k uzavření do cyklu for - jedna iterace = jeden graf
title(sprintf('%s mean:%.1f, var:%.1f',data_name, mean(u+2.5), var(u+2.5)),'Interpreter','none')
legend('u*100','y')
grid
figure(choice+6)
hold on;
xlabel('t[s]')
ylabel('y(t)')
clf
[y_id,t_id]=step(G_ident,100);
plot(t_id,0.5*y_id,'-r')
hold on;
title(sprintf('Přechodová charakteristika pro pracovní bod %.2fV', mean(u+2.5)));
legend(sprintf('Identifikovaný G(z) systém'));   


end



