% ket1.m szerinti halozatra
% 2022.04.13.
% Az alábbiakban egy másodrendű rendszer esetén vizsgálom meg a rendszer
% jellegét befolyásoló paraméterek hatását a lengő jellegre, illetve a
% sajátértékek elhelyezkedésére vonatkozóan. 


% rogzített R (R=1) esetén az L-C síkon mi lesz a rezgő jelleget megadó 
%   görbe
% (4*L+2*R*R*C)^2-4*9*R*R*L*C < 0 szerinti
% 
fx = @(L,C,R) (4*L+2*R*R*C)^2-4*9*R*R*L*C;
L = 0.1:0.1:10;
C = 0.1:0.1:20;
st = zeros(length(L), length(C));
for idL = 1:length(L)
  for idC = 1:length(C)
    fv = fx(L(idL), C(idC), 1);
    if fv>0
      st(idL, idC) = 1;
    else
      st(idL, idC) = -1;
    end
  end
end

%% L-R sikon (rogzitett C eseten adodo gorbe)
R = 0.1:0.01:30;
stLR = zeros(length(L), length(R));
for idL = 1:length(L)
  for idR = 1:length(R) 
    fv = fx(L(idL),1,R(idR));
    if fv>0
      stLR(idL,idR) = 1;
    else
      stLR(idL,idR) = -1;
    end
  end
end

figure; contourf(stLR); xlabel('L'); ylabel('R');


%% sajatertekek "mozgasa" R valtozasaval 
% L = 0.1; C=2;
L = 0.1; C=2;
R = 0.1:0.001:1;
la1v  = zeros(size(R)); la2v = zeros(size(R));
for id=1:length(R)
  A = [-4/(R(id)*C) -1/C;1/L -2*R(id)/L]; 
  [~,la] = eig(A);
  la1v(id) = la(1,1); 
  la2v(id) = la(2,2);
end

% %% abrazolas
figure; 
% plot(real(la1v), imag(la1v), 'ro', 'MarkerSize',8,'MarkerFaceColor','r');
plot3(real(la1v), imag(la1v), R,  'r-o', 'MarkerSize',8,'MarkerFaceColor','r');
hold on;
% plot(real(la2v), imag(la2v), 'bd', 'MarkerSize',8);
plot3(real(la2v), imag(la2v), R, 'b-d', 'MarkerSize',8,'MarkerFaceColor','b');
set(gca,'XGrid','on','YGrid','on','ZGrid','on');
set(gca,'YMinorGrid','on','ZMinorGrid','on','XMinorGrid','on');
xlabel('real'); ylabel('imag'); zlabel('R');


    