clear all; close all; clc;
numc = [1 0.05];
denc = [1 3.005 2.015 0.01 0];
sys1=tf(numc,denc);
num = [1.06];
den = [1 3 2 0];
sys2=tf(num,den);
% ***** Her iki sistem için transfer fonksiyonu oluþturduk
% ***** Kompanze edilmemiþ orijinal sistem kompanze edilmiþ sistem
rlocusplot(sys1,sys2)
axis([-3 1 -2 2]);
grid
text(-2.8,0.2,'Kompanze Edilmiþ Sistem \rightarrow')
text(-2.8,1.2,'Orijinal Sistem \rightarrow')
text(-2.8,0.58,'Orijinal KÇK \rightarrow')
text(-0.1,0.85,'\leftarrow Yeni KÇK')
hold on;
[num1,den1] = tfdata(1+sys1); KE1=cell2mat(num1);r=roots(KE1);s1=r(min(find(imag(r)~=0)))
plot(real(s1),imag(s1),'*r');
[num1,den1] = tfdata(1+sys2); KE1=cell2mat(num1);r=roots(KE1);s2=r(min(find(imag(r)~=0)))
plot(real(s2),imag(s2),'*g')
title ({'Kompanze edilmiþ ve Edilmemiþ Sistemin', 'Kök Yer Eðrisi Grafiði'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');

figure
rlocusplot(sys1)
axis([-0.06 0 -0.001 0.001]); axis('square')
grid
title({'Kompanze Edilmiþ Sistemin Kök Yer Eðrisi Etrafýndaki','Kök Yer Eðrisi'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');

% ***** Kompenze Edilmiþ ve Edilmemiþ Sistemin Birim Rampa Cevaplarý *****
% ***** Birim Rampa Cevabý, C(s)/[sR(s)]'nin Birim Basamak olarak elde edilecektir *****
% ***** C1(s)/[sR(s)] ve C2(s)/[sR(s)]'nin pay ve paydalarýný giriniz.
% ***** Burada  C1 (s) ve C2(s), sýrasýyla Kompenze Edilmiþ ve Edilmemiþ Sistemlerin 
% çýktýlarýnýn Laplace Dönüþümleridir. *****
numc = [1.0235 0.0512];
denc = [1 3.005 2.015 1.0335 0.0512 0];
num = [1.06];
den = [1 3 2 1.06 0];
% ***** Zaman aralýðýný belirleyin (örneðin t= 0:0.1:50) step ve % plot komutlarýný girin. *****
t = 0:0.1:50;
c1 = step(numc,denc,t);
c2 = step(num,den,t);
figure;
plot(t,c1,'r-','linewidth',2);hold on;
plot(t,c2, 'b:','linewidth',2);hold on;
plot(t,t,'g--','linewidth',2);
grid
text(2.2,27,'Kompenze Edilmiþ Sistem \rightarrow');
text(26,21.3,'\leftarrow Kompenze Edilmemiþ Sistem');
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Rampa Cevaplarý');
xlabel('t sn');
ylabel('c_1 ve c_2 çýktýlarý');
legend('c_1: Kompanze Edilmiþ Sistem','c_2: Kompanze Edilmemiþ Sistem');

figure;
% ***** Kompenze Edilmiþ ve Edilmemiþ Sistemin Birim Basamak Cevaplarý *****
numc = [1.0235 0.0512];
denc = [1 3.005 2.015 1.0335 0.0512];
num = [1.06];
den = [1 3 2 1.06];
c1 = step(numc,denc,t);
c2 = step(num,den,t);
plot(t,c1,'r-','linewidth',2); hold on;
plot(t,c2,'b:','linewidth',2);
grid
text(13,1.12,'\leftarrow Kompenze Edilmiþ Sistem') 
text(13.6,0.88,'\uparrow Kompenze Edilmemiþ Sistem')
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Basamak Cevaplarý') 
xlabel('t sn')
ylabel('c_l ve c_2 çýktýlarý')

%****** Örnek Ýlerlemeli-Gerilemeli Kompansatör Durum 1 
numc = [25.04 25.04*0.2];
denc = [conv([1 5.02 0],[1 0.0125])];
sys1=tf(numc,denc);
num = [4];
den = [1 0.5 0];
sys2=tf(num,den);
%***** Her iki sistem için transfer fonksiyonu oluþturduk
%***** Kompanze edilmemiþ orijinal sistem kompanze edilmiþ sistem
figure;
rlocusplot(sys1,sys2)
axis([-6 1 -6 6])
grid
text(-2.8,0.2,'Kompanze Edilmiþ Sistem \rightarrow')
text(-2.8,1.2,'Orijinal Sistem \rightarrow')
text(-2.8,0.58,'Orijinal KÇK \rightarrow')
text(-0.1,0.85,'\leftarrow Yeni KÇK')
hold on;
[num1,den1] = tfdata(1+sys1); KE1=cell2mat(num1);r=roots(KE1);s1=r(min(find(imag(r)~=0)))
plot(real(s1),imag(s1),'*r');
[num1,den1] = tfdata(1+sys2); KE1=cell2mat(num1);r=roots(KE1);s2=r(min(find(imag(r)~=0)))
plot(real(s2),imag(s2),'*g')
title ({'Kompanze edilmiþ ve Edilmemiþ Sistemin', 'Kök Yer Eðrisi Grafiði'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');
figure
rlocusplot(sys1)
axis([-0.6 0.1 -0.6 0.6]); axis('square')
grid
title({'Kompanze Edilmiþ Sistemin Kök Yer Eðrisi Etrafýndaki','Kök Yer Eðrisi'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');
figure;
t = 0:0.1:10;
c1 = step(sys1/(1+sys1),t);
c2 = step(sys2/(1+sys2),t);
plot(t,c1,'r-','linewidth',2); hold on;
plot(t,c2,'b:','linewidth',2);
grid
text(1,1.12,'\leftarrow Kompenze Edilmiþ Sistem') 
text(1.6,0.88,'\uparrow Kompenze Edilmemiþ Sistem')
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Basamak Cevaplarý') 
xlabel('t sn')
ylabel('c_l ve c_2 çýktýlarý');
int=tf([1],[1 0]);
c1 = step((sys1/(1+sys1))*int,t);
c2 = step((sys2/(1+sys2))*int,t);
figure;
plot(t,c1,'r-','linewidth',2);hold on;
plot(t,c2, 'b:','linewidth',2);hold on;
plot(t,t,'g--','linewidth',2);
grid
text(2.2,5,'Kompenze Edilmiþ Sistem \rightarrow');
text(3,5,'\leftarrow Kompenze Edilmemiþ Sistem');
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Rampa Cevaplarý');
xlabel('t sn');
ylabel('c_1 ve c_2 çýktýlarý');
legend('c_1: Kompanze Edilmiþ Sistem','c_2: Kompanze Edilmemiþ Sistem');


%**** Durum 2
numc = 40*[conv([1 2.38],[1 0.1])];
denc = [conv(conv([1 0.5 0],[1 0.0285]),[1 8.34])];
sys1=tf(numc,denc);
num = [4];
den = [1 0.5 0];
sys2=tf(num,den);
%***** Her iki sistem için transfer fonksiyonu oluþturduk
%***** Kompanze edilmemiþ orijinal sistem kompanze edilmiþ sistem
figure;
rlocusplot(sys1,sys2)
axis([-6 1 -6 6])
grid
text(-2.8,0.2,'Kompanze Edilmiþ Sistem \rightarrow')
text(-2.8,1.2,'Orijinal Sistem \rightarrow')
text(-2.8,0.58,'Orijinal KÇK \rightarrow')
text(-0.1,0.85,'\leftarrow Yeni KÇK')
hold on;
[num1,den1] = tfdata(1+sys1); KE1=cell2mat(num1);r=roots(KE1);s1=r(min(find(imag(r)~=0)))
plot(real(s1),imag(s1),'*r');
[num1,den1] = tfdata(1+sys2); KE1=cell2mat(num1);r=roots(KE1);s2=r(min(find(imag(r)~=0)))
plot(real(s2),imag(s2),'*g')
title ({'Kompanze edilmiþ ve Edilmemiþ Sistemin', 'Kök Yer Eðrisi Grafiði'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');
figure
rlocusplot(sys1)
axis([-0.6 0.1 -0.6 0.6]); axis('square')
grid
title({'Kompanze Edilmiþ Sistemin Kök Yer Eðrisi Etrafýndaki','Kök Yer Eðrisi'});
axIm = findall(gcf,'String','Imaginary Axis (seconds^{-1})');
axRe = findall(gcf,'String','Real Axis (seconds^{-1})');
set(axIm,'String','Ýmajiner Eksen saniye^-^1');
set(axRe,'String','Reel Eksen saniye^-^1');
figure;
t = 0:0.1:10;
c1 = step(sys1/(1+sys1),t);
c2 = step(sys2/(1+sys2),t);
plot(t,c1,'r-','linewidth',2); hold on;
plot(t,c2,'b:','linewidth',2);
grid
text(1,1.12,'\leftarrow Kompenze Edilmiþ Sistem') 
text(1.6,0.88,'\uparrow Kompenze Edilmemiþ Sistem')
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Basamak Cevaplarý') 
xlabel('t sn')
ylabel('c_l ve c_2 çýktýlarý');
int=tf([1],[1 0]);
c1 = step((sys1/(1+sys1))*int,t);
c2 = step((sys2/(1+sys2))*int,t);
figure;
plot(t,c1,'r-','linewidth',2);hold on;
plot(t,c2, 'b:','linewidth',2);hold on;
plot(t,t,'g--','linewidth',2);
grid
text(2.2,5,'Kompenze Edilmiþ Sistem \rightarrow');
text(3,5,'\leftarrow Kompenze Edilmemiþ Sistem');
title('Kompenze Edilmiþ ve Edilmemiþ Sistemlerin Birim Rampa Cevaplarý');
xlabel('t sn');
ylabel('c_1 ve c_2 çýktýlarý');
legend('c_1: Kompanze Edilmiþ Sistem','c_2: Kompanze Edilmemiþ Sistem');
figure;
[r,k]=rlocus([1 0],[1 5 4 20]);
for i=1:length(r)
    z(i,1)=abs(tan(imag(r(i,2))/real(r(i,2)))-1.1593);
    z1(i,:)=[i z(i,1)];
end
z11=z1';
z1s=sort(z11,2);
zzz=z1s(2,1:2);
[x1,y1]=find(z==zzz(1));r(x1,2)
[x2,y2]=find(z==zzz(2));r(x2,2)
K1=k(x1)/20;sys1=tf(20,[1 5 4+k(x1) 0]);
K2=k(x2)/20;sys2=tf(20,[1 5 4+k(x2) 0]);
t = 0:0.1:10;
c1 = step(sys1/(1+sys1),t);
c2 = step(sys2/(1+sys2),t);
plot(t,c1,'r-','linewidth',2); hold on;
plot(t,c2,'b:','linewidth',2);
title('Olasý Ýki Sistem için Basamak Giriþ Cevabý')
xlabel('t sn.')
ylabel('Çýkýþlar c1 ve c2')