⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aaybus.m

📁 matris, modeling, bu prog adim adim hesaplamalar yaparak, sizi cozume ulastirmayi hedefleyen basit b
💻 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 + -