EEE4154 170205148 Report8
EEE4154 170205148 Report8
Submitted by:
Name: MD TALHA JUBAIR PEASH
Student ID:17.02.05.148
Section :C1
Group :4
MATLAB code using Gauss Seidel Method:
for m=1:no_bus
sprintf('\n Enter the real power, reactive power, \n voltage & angle
of voltage of bus %d : ',m)
sprintf('\n For unknown P & Q => inf \n For unknown V => 1\n For
unknown delta => 0') P(m)=input('P= ');
Q(m)=input('Q= ');
V(m)=input('V= ');
d(m)=input('delta= '); end
busName=['']; for
m=1:no_bus
if (P(m)==inf)&&(Q(m)==inf)
busName{m}='Slack';
slackBus=m; elseif Q(m)==inf
busName{m}='PV'; else
busName{m}='PQ';
end end
[r,x,z]=deal(zeros(no_bus,no_bus));
sprintf('\n Now, provide Line resistance & reactance from bus to bus.\n
If no connection between the buses, put r=inf & x=0')
for m=1:no_bus for n=m+1:no_bus
sprintf('Enter Line Resistance & Reactance between bus %d & bus
%d: ',m,n)
r(m,n)=input('r=');
x(m,n)=input('x=');
z(m,n)=r(m,n)+1i*x(m,n); end
end
z(z==0.0000 + 0.0000i)=inf+0.0000i;
for m=1:no_bus for n=1:no_bus
if z(m,n)==Inf + 0.0000i
z(m,n)=z(n,m); end
end end y=1./z;
sprintf('\n Now,forming YBus a.k.a. Bus Admittance Matrix')
Y=zeros(no_bus,no_bus); for
m=1:no_bus
for n=1:no_bus
if m==n
Y(m,n)=sum(y(m,:))-y(m,n);
else Y(m,n)=-y(m,n); end
end end iter=1; tol=0.0001;
sprintf('\n Using Gauss Seidel Method...')
[Pnew,Qnew,vnew,Vnew,dnew]=deal(zeros(1,no_bus));
del=ones(1,no_bus); while (max(del)>tol)
del(slackBus)=0; for m=1:no_bus
if strcmp(busName(m),'PV')
Qnew(m)=-imag(conj(V(m)).*(sum(Y(m,:).*V)-Y(m,m).*V(m)));
vnew(m)=(1/Y(m,m)).*(((P(m)-1i.*Q(m))/conj(V(m)))-
(sum(Y(m,:).*V)-Y(m,m).*V(m)));
dnew(m)=angle(vnew(m));
del(m)=max(abs(Q(m)-Qnew(m)), abs(dnew(m)-d(m)));
Q(m)=Qnew(m); d(m)=dnew(m);
elseif strcmp(busName(m),'PQ')
vnew(m)=(1/Y(m,m)).*(((P(m)-1i.*Q(m))/conj(V(m)))-
(sum(Y(m,:).*V)-Y(m,m).*V(m)));
Vnew(m)=abs(vnew(m));
dnew(m)=angle(vnew(m));
del(m)=max(abs(V(m)-Vnew(m)), abs(dnew(m)-d(m)));
V(m)=Vnew(m); d(m)=dnew(m); end end
iter=iter+1; end
for m=1:no_bus
if strcmp(busName(m),'Slack')
P(m)=abs(conj(V(m)).*(sum(Y(m,:).*V)));
Q(m)=-imag(conj(V(m)).*(sum(Y(m,:).*V))); end
end
S=zeros(no_bus, no_bus);
for m=1:no_bus for
n=m+1:no_bus for
k=1:no_bus if
r(m,n)~=inf
S(m,n)=V(m).*conj((V(m)-V(k)).*Y(m,k));
end end end end
OUTPUT:
>> pr8
Total number of bus is: 4
ans =
For unknown P & Q => inf
For unknown V => 1
For unknown delta => 0
P= inf
Q= inf V=
1.04
delta= 0
ans =
ans =
For unknown P & Q => inf
For unknown V => 1
For unknown delta => 0
P= 0.5
Q= inf V=
1 delta=
0 ans =
ans =
For unknown P & Q => inf
For unknown V => 1
For unknown delta => 0
P= -1.0
Q= 0.5 V=
1 delta=
0 ans =
ans =
For unknown P & Q => inf
For unknown V => 1
For unknown delta => 0
P= 0.3
Q= -0.1 V=
1 delta= 0
ans =
ans =
ans =
ans =
P=
>> Q
Q=
>> del
del =
1.0e-04 *
r=
>> x
x=
0 0.1500 0.3000 0
0 0 0.4500 0.3000
0 0 0 0.1500
0 0 0 0
>> inter
Undefined function or variable 'inter'.
>> iter
iter = 10