% Párhuzamos rezgőkör vizsgálata
% 2R-L sorban, vele párhuzamosan C, ezekkel sorban Us, R/4
% 2022.04.13.
clc
clear all
% Nem-komplex sajatertekek
L = 0.1; C=2;
roots([16 -20*L*C 16*L*L])
sqrt(0.2)
sqrt(0.05)
R = 2;
A = [-4/(R*C) -1/C;1/L -2*R/L]
eig(A)
R = .32;
A = [-4/(R*C) -1/C;1/L -2*R/L]
eig(A)
R = .12;
A = [-4/(R*C) -1/C;1/L -2*R/L]; eig(A)
R = .12;

%% Nem komplex sajatertek eseten az ugrasos gerjesztesre adott valasz 
% zart alakjanak szamitasa
A = [-4/(R*C) -1/C;1/L -2*R/L];
B = [4/(R*C);0];
CT = [-4/R 0];D=4/R
% sajatertek, sajatvalasz  
[m,la] = eig(A)
% gerjesztett osszetevo
xg = (-A)\(B*2)
% tranziens konstansainak meghatarozasa
kv = (-m)\xg
%% valasz zart alaku kifejezesenek egyutthatoi
k1=kv(1); k2=kv(2);
m1=m(:,1); m2=m(:,2)
la1 = la(1,1)
la2 = la(2,2)
% y(t) = ye1*exp(la1*t)+ye2*exp(la2*t)+yc
ye1=CT*m1*k1
ye2=CT*m2*k2
yc = CT*xg+D*2

%% Abrazolas
t = -0.01:0.001:1;
yt = stepfun(t,0).*(ye1*exp(la1*t)+ye2*exp(la2*t)+yc);
ius = -yt; % forras feszultsege a valasz -1 szerese
us = 2*stepfun(t,0);
figure; plot(t,us,'r-'); title('Gerjesztes'); xlabel('t'); ylabel('us(t)');
figure; plot(t,yt,'r-'); title('Valasz'); xlabel('t'); ylabel('y');
% forras teljesitmenye
pus = us.*ius;
figure; plot(t,pus,'r-'); 
  title('Forras teljesitmenye'); xlabel('t'); ylabel('p(t)');


%% Komplex sajatertekek
R = 0.23;
A = [-4/(R*C) -1/C;1/L -2*R/L]; [m,la] = eig(A)
B = [4/(R*C);0];
CT = [-4/R 0];D=4/R
xg = (-A)\(B*2)
kv = (-m)\xg
k1=kv(1); k2=kv(2);
m1=m(:,1); m2=m(:,2);
la1=la(1,1); la2=la(2,2);
% Valasz egyutthatoinak szamitasa
ye1=CT*m1*k1
ye2=CT*m2*k2
yc = CT*xg+D*2
%% abrazolas
t = -0.01:0.001:1;
yt2 = stepfun(t,0).*2*abs(ye1).*exp(real(la1)*t).*cos(imag(la1)*t+angle(ye1))+yc;
figure; plot(t,yt2,'k-','LineWidth',2);
  title('Valasz kifejezese');
  xlabel('t'); ylabel('y(t)');