?? aaybus.m
字號:
% BU PROGRAM ADIM ADIM YBARA ADMITANS MATRISININ OLUSTURULMASI ICIN
% YAZILMISTIR.PROGRAM DILI MATLAB DIR. BU PROGRAMIN EN ONEMLI OZELLIGI-
% ORTAK EMPEDANS ICEREN BIR DEVREDE EMPEDANSIN DEGER DEGISTIRMESI,
% BIR ELEMANIN (KUPLAJLI YADA KUPLAJSIZ) ORTADAN KALKMASI, DEVREYE
% BIR ELEMAN EKLENMESI- ISLEMLERINI YAPABILMESIDIR. DATA BILDILERI ICIN
% "GUC SISTEMLERININ BILGISAYAR DESTEKLI ANALIZI" ADLI KITABIMIN "EK B"
% ADLI BOLUMUNE BASVURULMALIDIR. GEREKLI ALGORITMA ISE BAHSI
% GECEN KITABIN BOLUM 4, SAYFA 192, 4.3.3. (BARA ADMITANS MATRISININ
% ADIM ADIM ELDE EDILMESI) BOLUMUNE BASVURULABILIR.
nb=[4];ne=[5]; nv=[10];
telbag=[1+2i 1+2i 1+3i 3+4i 2+4i];
teldeg=[0.6i 0.4i 0.5i 0.5i 0.2i];
tegkup=[0 1+0.2i 1+0.1i 0 0];
elbag=zeros(1,nv);
eldeg=zeros(1,nv);
degkup=zeros(1,nv);
elbag(1:1,1:ne)=telbag(1:1,1:ne);
eldeg(1:1,1:ne)=teldeg(1:1,1:ne);
degkup(1:1,1:ne)=tegkup(1:1,1:ne);
zbus=zeros(nv,nv);
ybus=zeros(nv,nv);
zbus(2,2)=eldeg(1,1);
%%%%%%%%%%%%%%%%%%%
m=1;
kk1=-1;
while(kk1==-1);
m=m+1;
zprim=zeros(m,m);
yprim=zeros(m,m);
m1=real(elbag(m));
m2=imag(elbag(m));
m3=real(degkup(m));
s2= imag(degkup(m));
q1=real(eldeg(m));
q2=imag(eldeg(m));
enbuy=1;
for t=1:m;
m7=real(elbag(t));
m8=imag(elbag(t));
if(m7>enbuy);
enbuy=m7;
end;
if(m8>enbuy);
enbuy=m8;
end;
end;
branc=0;
for ts=1:m-1;
m4=real(elbag(ts));
m5=imag(elbag(ts));
if((m4==m1)|(m5==m1));
for to=1:m-1;
m9=real(elbag(to));
m10=imag(elbag(to));
if((m9==m2)|(m10==m2));
branc=1;
ts=m;
end;
end;
end;
end;
%c***************************************
if((m1==1)&(m3==0));
%c***************************************
if(branc==0);
for t=2:enbuy;
if(t==m2);
zbus(m2,m2)=eldeg(m);
end;
end;
else;
k=enbuy+1;
for t=2:k;
if(t~=k);
zbus(k,t)=-zbus(m2,t);
zbus(t,k)=-zbus(m2,t);
end;
end;
zbus(k,k)=-zbus(m2,k)+eldeg(m);
for t=2:enbuy;
for j=2:enbuy;
zbus(t,j)=zbus(t,j)-(zbus(t,k)*zbus(k,j))/zbus(k,k);
end;
end;
end;
end;
%*****************************************
if((m1~=1)&(m3==0));
%c****************************************
if(branc==0);
for h=2:enbuy;
if(h~=m2);
zbus(m2,h)=zbus(m1,h);
zbus(h,m2)=zbus(m2,h);
end;
if(h==m2);
zbus(m2,m2)=zbus(m1,m2)+eldeg(m);
end;
end;
else;
k=enbuy+1;
for s=2:k;
if(s~=k);
zbus(k,s)=zbus(m1,s)-zbus(m2,s);
zbus(s,k)=zbus(k,s);
end;
end;
zbus(k,k)=zbus(m1,k)-zbus(m2,k)+eldeg(m);
for p=2:enbuy;
for j=2:enbuy;
zbus(p,j)=zbus(p,j)-(zbus(p,k)*zbus(k,j))/zbus(k,k);
end;
end;
end;
end;
%**************************************
if((m1==1)&(m3~=0));
%**************************************
for t=1:m;
zprim(t,t)=eldeg(t);
k1=real(degkup(t));
if(k1~=0);
a1=imag(degkup(t));
zprim(t,k1)=i*a1;
zprim(k1,t)=zprim(t,k1);
end;
end;
yprim=inv(zprim);
t1=real(elbag(m3));
t2=imag(elbag(m3));
if(branc==0);
for t=2:enbuy;
zbus(m2,t)=0;
if(t~=m2);
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(m2,t)=zbus(m2,t)+yprim(m,j)*(zbus(t1,t)-zbus(t2,t));
if(j==m-1);
zbus(m2,t)=zbus(m2,t)/yprim(m,m);
zbus(t,m2)=zbus(m2,t);
end;
end;
end;
else;
zbus(m2,m2)=0;
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(m2,m2)=zbus(m2,m2)+yprim(m,j)*(zbus(t1,m2)-zbus(t2,m2));
if(j==m-1);
zbus(m2,m2)=(1+zbus(m2,m2))/yprim(m,m);
end;
end;
end;
end;
end;
else;
k=enbuy+1;
for b=2:k;
zbus(k,b)=0;
if(b~=k);
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(k,b)=zbus(k,b)+yprim(m,j)*(zbus(t1,b)-zbus(t2,b));
if(j==m-1);
zbus(k,b)=-zbus(m2,b)+zbus(k,b)/yprim(m,m);
zbus(b,k)=zbus(k,b);
end;
end;
end;
else;
zbus(k,k)=0;
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(k,k)=zbus(k,k)+yprim(m,j)*(zbus(t1,k)-zbus(t2,k));
if(j==(m-1));
zbus(k,k)=-zbus(m2,k)+(1+zbus(k,k))/yprim(m,m);
end;
end;
end;
end;
end;
for f=2:enbuy;
for j=2,enbuy;
zbus(f,j)=zbus(f,j)-(zbus(f,k)*zbus(k,j))/zbus(k,k);
end;
end;
end;
end;
%****************************************
if((m1~=1)&(m3~=0));
%****************************************
for t=1:m;
zprim(t,t)=eldeg(t);
k1=real(degkup(t));
if(k1~=0);
a1=imag(degkup(t));
zprim(t,k1)=a1*i;
zprim(k1,t)=zprim(t,k1);
end;
end;
yprim=inv(zprim);
t1=real(elbag(m3));
t2=imag(elbag(m3));
if(branc==0);
for t=2:enbuy;
zbus(m2,t)=0;
if(t~=m2);
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(m2,t)=zbus(m2,t)+yprim(m,j)*(zbus(t1,t)-zbus(t2,t));
if(j==m-1);
zbus(m2,t)=(zbus(m2,t)/yprim(m,m))+zbus(m1,t);
zbus(t,m2)=zbus(m2,t);
end;
end;
end;
else;
zbus(m2,m2)=0;
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(m2,m2)=zbus(m2,m2)+yprim(m,j)*(zbus(t1,m2)-zbus(t2,m2));
if(j==m-1);
zbus(m2,m2)=zbus(m1,m2)+(1+zbus(m2,m2))/yprim(m,m);
end;
end;
end;
end;
end;
else;
k=enbuy+1;
for t=2:k;
zbus(k,t)=0;
if(t~=k);
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(k,t)=zbus(k,t)+yprim(m,j)*(zbus(t1,t)-zbus(t2,t));
if(j==m-1);
zbus(k,t)=(zbus(k,t)/yprim(m,m))+zbus(m1,t)-zbus(m2,t);
zbus(t,k)=zbus(k,t);
end;
end;
end;
else;
zbus(k,k)=0;
for j=1:m-1;
if(yprim(m,j)~=0);
zbus(k,k)=zbus(k,k)+yprim(m,j)*(zbus(t1,k)-zbus(t2,k));
if(j==m-1);
zbus(k,k)=zbus(m1,k)-zbus(m2,k)+(1+zbus(k,k))/yprim(m,m);
end;
end;
end;
end;
end;
for t=2:enbuy;
for j=2:enbuy;
zbus(t,j)=zbus(t,j)-(zbus(t,k)*zbus(k,j))/zbus(k,k);
end;
end;
end;
end;
%%%%%%%%%%%%%%%%%%%%%%
if(m>=ne);
disp(' devrede ilave bir degisiklik var mi');
tb10=input(' evet ise " 1 ",hayir ise" 0 " giriniz');
if(tb10==0);
kk1=1;
zbusy=zeros(nb-1,nb-1);
zbusy(1:nb-1,1:nb-1)=zbus(2:nb,2:nb);
disp(' ')
disp(' en son sekli ile sistemin bara empedans matrisi');
zbusy
pause;
disp(' "Ctrl" ve "c" tuslarina ayni anda basarak programdan cikiniz');
else;
kk1=-1;
end;
end;
%******************************************
if((m>=ne)&(kk1==-1));
if(tb10==1);
disp(' devredeye yeni bir eleman baglandi mi');
ta=input(' evet ise" 1", hayir ise "0" giriniz');
if(ta==1);
ne=ne+1;
m=m+1;
tb1=input(' yeni elemanin baglandigi ilk bara numarasini gir');
tb2=input(' yeni elemanin baglandigi ikinci bara numarasini gir');
elbag(m)=tb1+tb2*i;
ab3=input(' baglanan elemanin reel kisminin degerini gir');
ab4=input(' baglanan elemanin sanal kisminin degerini gir');
eldeg(m)=ab3+ab4*i;
disp(' baglanan elemanin bir eleman ile kuplaji varmi');
tb5=input(' evet ise "1", hayir ise "0" giriniz');
if(tb5==1);
tb6=input(' elemanin kuplajli oldugu eleman numarasini gir');
ab=input(' baglanan elemanin imajiner kuplaj degerini gir');
degkup(m)=tb6+ab*i;
else;
degkup(m)=0;
end;
branc=0;
for ts=1:m-1;
m4=real(elbag(ts));
m5=imag(elbag(ts));
if((m4==m1)|(m5==m1));
for to=1:m-1;
m9=real(elbag(to));
m10=imag(elbag(to));
if((m9==m2)|(m10==m2));
branc=1;
ts=m;
end;
end;
end;
end;
m=m-1;
if(branc==0);
nb=nb+1;
end;
else;
disp(' devreden bir eleman eksiltiliyor mu?');
tb7=input(' evet ise "1", hayir ise" 0" giriniz');
if(tb7==1);
tb9=input(' eksiltilen elemanin numarasini gir');
ne=ne+1;
m=m+1;
eldeg(m)=-eldeg(tb9);
degkup(m)=degkup(tb9);
elbag(m)=elbag(tb9);
m=m-1;
else;
disp(' devredeki bir elemanin degeri degistiriliyor mu?');
tb12=input(' evet ise "1", hayir ise "0" giriniz');
if(tb12==1);
tb13=input(' degeri degistirilen elemanin numarasini gir');
ne=ne+1;
m=m+1;
as1=input( ' elemanin yeni degerinin reel kismini giriniz');
as2=input( ' elemanin yeni degerinin sanal kismini giriniz');
hjj=(eldeg(tb13))-(as1+as2*i);
eldeg(m)=(as1+as2*i)*eldeg(tb13)/hjj;
elbag(m)=elbag(tb13);
degkup(m)=degkup(tb13);
m=m-1;
else;
end;
end;
end;
end;
end;
end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -