You are on page 1of 5

Bilal Ahmad

EE307165
Section C
Lab Assignment

Y Bus:
function arfat()
line_data = [
1 2 0.0038
0.08914
2 3
0.00403 0.15374
2
5
0.00699
027067
2
7 0.07811
0.5767
3
4 0.05695
0.27388
3
5 0.05695
0.47374
4
6 0.06701
0.57108
4
7 0.00335
0.7425];
from_bus = line_data(:,1);
to_bus = line_data(:,2) ;
conductance = line_data(:,3);
susceptance = line_data(:,4);
admittance= conductance+1i*susceptance;
buses= max(max(from_bus),max(to_bus));
branch = length(from_bus);
Y = zeros(buses);
%Diagnal elements
for n=1:buses
for k =1:branch
if from_bus(k) == n ||to_bus(k) == n
Y(n,n) = Y(n,n) + admittance(k) ;
end
end
end
% off Diagonal elements
for i =1:branch
if(from_bus(i)~=0&&to_bus(i)~=0)
Y(from_bus(i),to_bus(i))=-admittance(i);
Y(to_bus(i),from_bus(i))=-admittance(i);
end
end
Y

Implementation Of Z Bus On Matlab:


Case 1: Reference node to new Bus:
zbus=[1 2 3;2 5 6;8 9 2];
zb=input('enter zb=');
l=length(zbus);
for i=1 : l+1
for j=1 : l+1
if i<=l && j<=l
znew(i,j)=zbus(i,j);
else if i==l+1 && j==l+1
znew(i,j)=zb;
else z(i,j)=0;
end
end
end
end
znew

Case 2: Existing bus to new bus:


bus = [1 2 3;2 5 6;8 9 2]
r = bus(3,:);
c = bus(:,3);
Zb= input('Enter Zb=');
l= length(bus);
for i=1:l+1
for j=1:l+1
if i<=l && j<=l
Znew(i,j)=bus(i,j);
elseif i==l+1 && j==l+1
Znew(i,j)= bus(i-1,j-1)+Zb;
end
end
end
for i=1:l
Znew(4,i)= r(i);
Znew(i,4)= c(i);
end
Znew

Case 3: Existing bus to reference node:


function zbus2()
bus = [1 2 3;2 5 6;8 9 2]
r = bus(3,:);
c = bus(:,3);
Zb= input('Enter Zb');
l= length(bus);
for i=1:l+1
for j=1:l+1
if i<=l && j<=l
Znew(i,j)=bus(i,j);
elseif i==l+1 && j==l+1
Znew(i,j)= bus(i-1,j-1)+Zb;
end
end
end
for i=1:l
Znew(4,i)= r(i);
Znew(i,4)= c(i);
end
for i=1:l
for j=1:l
Zn(i,j)= Znew(i,j)-((Znew(i,4)*Znew(4,j))/Znew(4,4));
end
end
Zn

Case 4: Existing bus to Existing bus:


zbuss=[1 2 3;4 5 6;7 8 9]
zab=input('enter z23 =');
l=length(zbuss);
for i=1:l+1
for j=1:l+1
if i<=l && j<=l
z_new(i,j)=zbuss(i,j);
else if i==l+1 && j==l+1
z_new(i,j)=zab+zbuss(2,2)+zbuss(3,3)-2*zbuss(2,3);
else if j>l && i<l+1
z_new(i,j)=zbuss(i,3)-zbuss(i,2);
else if i>l && j<l+1
z_new(i,j)=zbuss(2,j)-zbuss(3,j);
end
end
end
end
end
end
z_new
'selcted pivot 4'
for i=1:3
for j=1:3
znew(i,j)=z_new(i,j) - (z_new(i,4)*z_new(4,j))./z_new(4,4);
end
end
znew

You might also like