% ket2.m - 2022.04.13. 
% Az állapotváltozós leírásból indulunk. Ennek meghatározása az órán
% történt. 
% x = [uc, iL] sorrend
A = [-0.4444 -0.0513;-0.1111 -0.1709];
B = [0.2051;0.1282];
CT = [0.3333 0.2051];
D = [-0.1538];
% Ugrás jellegű gerjesztés amplitúdója
U0 = 5;
%% A megoldás lépései 
% 1. sajátértékek, sajátvektorok meghatározása 
[m,la] = eig(A)
% 2. Gerjesztett összetevő, próbafüggvény meghatározása
xg = (-A)\(B*U0)
% 3. Illesztés a t=0 pillanatra, a tranziens állandóinak meghatározása
kv = m \ (-xg)
% Adatok "nevesítése", hogy a táblára írottakkal megegyezzenek
k1 = kv(1); k2=kv(2); la1 = la(1,1); la2=la(2,2);
m2=m(:,2); m1 = m(:,1);
% 4. Válasz meghatározása behelyettesíéssel 
% exponenciális együtthatója 1.
ye1 = CT*m1*k1
% exponenciális együtthatója 1.
ye2 = CT*m2*k2
% konstans együttható
yc = CT*xg+D*U0

%% Ábrázolás
t = 0:0.01:20;
y = stepfun(t,0).*(ye1*exp(la1*t)+ye2*exp(la2*t)+yc);
figure; plot(t,y,'r-','LineWidth',2);
  xlabel('t'); ylabel('y(t)'); title('Válasz');
  
% az egyes komponensek bemutatasa  
figure;
  plot(t, stepfun(t,0).*ye1.*exp(la1*t), 'r-','LineWidth',2);
  xlabel('t'); ylabel('y(t)'); title('Válasz - exponencialis 1.');
% figure; 
  hold on;
  plot(t, stepfun(t,0).*ye2.*exp(la2*t), 'k-','LineWidth',2);
%   xlabel('t'); ylabel('y(t)'); title('Válasz - exponencialis 2.');
  plot(t,stepfun(t,0).*yc,'b-','LineWidth',2);
legend('exp-1.','exp-2.','konst.','Location','southeast');
%% impulzusvalasz
% Az előadáson elmondottak alapján a Dirac-impulzus hatása a kezdeti
% feltételben jelenik meg. x(+0)=B módon "beállítja" azt 
% Az impulzusválasz tisztán a tranziens válasz, mert a gerjesztés zérus, ha
% t~=0 esetén. Olyan mintha a rendszernek  egy pofont adnánk és magára
% hagynánk.
% Ez a lepes ugyanaz mint korabban
[m,la] = eig(A)
% Illesztes
kw = m \ B
kw1 = kw(1); kw2 = kw(2);
% Egyutthatok
he1 = CT*m1*kw1
he2 = CT*m2*kw2
% Megjegyzes > A Dirac-impulzust egy nyillal szoktuk ábrázolni (feltéve,
% hogy szükség van rá). 