function FMinSearch

clc;

%%naměřené hodnoty směrem nahoru
data=xlsread('Step1_UP.xlsx');
h=data(:,1)';
t=0:0.1:99.9;
sigma = 0;

%%Hledání minima
koef = fminsearch(@sqr_area, [45 0.4 0.1 1],[], h, t);

%%vykreslení charakteristik
plot(t,h,'r')
hold on;
%Gs systém obsahující koeficienty 
%koef(1) - K - zesílení
%koef(2) - T1 - časová konstanta
%koef(3) - Ksi - Poměrné tlumení
%koef(4) - T2 - časová konstanta
%Gs = [ K / ( T1^2*s^2 + 2*T1*Ksi*s + 1 ) ] + [ 1 / ( T2*s + 1) ]
Gs=tf([koef(1)],conv([koef(2)*koef(2) 2*koef(2)*koef(3) 1],[koef(4) 1]))
step(Gs,t,'b')
xlabel('t[s]')
ylabel('y(t)')
title('Průběhy veličin pro pracovní bod v 2V')
legend('Naměřená charakteristika','fminsearch charakteristika')

%Kvadraticka odchylka analyticky
h_ident = step(tf([koef(1)],conv([koef(2)*koef(2) 2*koef(2)*koef(3) 1],[koef(4) 1])),t);
%Cyklus FOR, který projde polem naměřených hodnot a polem identfikovaného
%Gs přenosu
for T=1:1:length(t)
    sigma = sigma + (abs(h(T)-h_ident(T))).^2;
end
%Celološná kvadratická odchylka podělená počtem predikovaných (měřených)
%vzorků
sigma = sigma / length(t);

%Výpis výsledků na Command Window
disp(['K = ',num2str((koef(1)))])
disp(['T1 = ',num2str(koef(2))])
disp(['T2 = ',num2str(koef(4))])
disp(['Ksi = ',num2str(koef(3))]) 
disp(['Sigma = ', num2str(sigma)])
c2d(Gs,0.1)