% identifikace kmitave prechodove charakteristiky pomoci soustavy druheho radu
% pomoci minimalizace kvadraticke chyby pri identifikaci kmitavych soustav
%
% funkce fminsearch hleda nejmensi chybu reseni pomoci kriterialni funkce,
% ktera je ji predana jako prvni parametr.
% kriterialni funkce vraci hodnotu, ktera je tim mensi, cim je vysledek presnejsi
% 
% funkce minim([k,T,ksi],h,t) vypocita chybu urceni prechodove charakteristiky
% zadane a od charakteristiky vygenerovane na zaklade predanych hodnot soustavy (prvni parametr)
%
% odezvu systemu F2=tf(k,[T*T T*ksi*2 1]) je nutne pocitat v casech stejnych jako 
% merena odezva (druhy parametr), tj. danych vektorem t (treti parametr)
%
% minim Vraci kvadratickou chybu, kterou algoritmus fminsearch 
% minimalizuje a tim identifikuje parametry soustavy F2.

% pøedává se název minimalizaèní funkce, poèáteèní hodnoty hledaných parametrù
% - ty se budou v fminsearch mìnit a výsledné se vrátí
% nastavení hledání (nevyužito=implicitní), konstanty pro øešení pøímo pøedávané
% do kriteriální funkce
par = fminsearch('minim',[6,6,1],[],h,t) %[k,T,ksi]=[6,6,1]
k = par(1); % ziskani hodnot zidentifikovanych parametru
T=par(2);
ksi=par(3);
F2=tf(k,[T*T T*ksi*2 1]) % zidentifikovana soustava
step(F2)
hold on
plot(h) % melo by byt stejne (podobne)