12/6/15 6:41 PM C:/Users/SB/Desktop/decouple.m 1 of 4
12/6/15 6:41 PM C:/Users/SB/Desktop/decouple.m 1 of 4
12/6/15 6:41 PM C:/Users/SB/Desktop/decouple.m 1 of 4
%
%
%
%
C:\Users\SB\Desktop\decouple.m
1 of 4
12/6/15 6:41 PM
C:\Users\SB\Desktop\decouple.m
2 of 4
V1MAG=1.0;
ANG1=0;
V2MAG=1.05;
P2sp=0.6661;
P3sp=-2.8653;
Q3sp=-1.2244;
%Initialization of other parameters%
Tolerance= 0.001;
Iter_Max=25;
Iter=0;
i=0;
ConvFlag=1;
delANG2=0;
delANG3=0;
delMAG3=0;
%Flat start%
ANG2=0;
ANG3=0;
V3MAG=1.0;
while( ConvFlag==1 && Iter < Iter_Max)
Iter=Iter+1;
i=i+1;
ANG2=ANG2+delANG2;
ANG3=ANG3+delANG3;
V3MAG=V3MAG+delMAG3;
%Developing Jacobian Matrix%
J(1,1) = V2MAG*(V1MAG*(B(2,1)*cos(ANG2-ANG1)-G(2,1)*sin(ANG2-ANG1))+V3MAG*(B(2,3)*cos
(ANG2-ANG3)-G(2,3)*sin(ANG2-ANG3)));
J(1,2)=V2MAG*V3MAG*(G(2,3)*sin(ANG2-ANG3)-B(2,3)*cos(ANG2-ANG3));
J(1,3) = V2MAG*(G(2,3)*cos(ANG2-ANG3)+B(2,3)*sin(ANG2-ANG3));
J(2,1) = V3MAG*V2MAG*(G(3,2)*sin(ANG3-ANG2)-B(3,2)*cos(ANG3-ANG2));
J(2,2)= V3MAG*(V1MAG*(B(3,1)*cos(ANG3-ANG1)-G(3,1)*sin(ANG3-ANG1))+V2MAG*(B(3,2)*cos
(ANG3-ANG2)-G(3,2)*sin(ANG3-ANG2)));
J(2,3) = 2*G(3,3)*V3MAG+V1MAG*(G(3,1)*cos(ANG3-ANG1)+B(3,1)*sin(ANG3-ANG1)+V2MAG*(G(3,2)
*cos(ANG3-ANG2)+B(3,2)*sin(ANG3-ANG2)));
J (3,1)= -V3MAG*V2MAG*(G(3,2)*cos(ANG3-ANG2)+B(3,2)*sin(ANG3-ANG2));
12/6/15 6:41 PM
C:\Users\SB\Desktop\decouple.m
3 of 4
J(3,2) = V3MAG*(V1MAG*(B(3,1)*cos(ANG3-ANG1)+G(3,1)*sin(ANG3-ANG1))+V2MAG*(B(3,2)*cos
(ANG3-ANG2)+G(3,2)*sin(ANG3-ANG2)));
J(3,3) = -2*B(3,3)*V3MAG+V1MAG*(G(3,1)*cos(ANG3-ANG1)-B(3,1)*sin(ANG3-ANG1)+V2MAG*(G
(3,2)*cos(ANG3-ANG2)-B(3,2)*sin(ANG3-ANG2)));
J = [J(1,1) J(1,2) J(1,3);J(2,1) J(2,2) J(2,3); J(3,1) J(3,2) J(3,3)];
%calculation of updated voltages with angles%
V(1) = V1MAG*exp(1i*ANG1);
V(2)= V2MAG*exp(1i*ANG2);
V(3) = V3MAG*exp(1i*ANG3);
I = Y*V;
S(1) = V(1)*conj(I(1));
S(2) = V(2)*conj(I(2));
S(3) = V(3)*conj(I(3));
%Mistmatches values%
Mismatch(1) = P2sp-real(S(2));
Mismatch(2) = P3sp-real(S(3));
Mismatch(3) = Q3sp-imag(S(3));
%Now calculating the deltaANG and deltaVMAG%
del=J\Mismatch; %-matlab shortcut for "inv(J)*Mismatch"-%
delANG2 = del(1);
delANG3 = del(2);
delMAG3 = del(3);
%Calculation of power flow values (P and Q)%
P12
P13
P21
P23
P31
P32
=
=
=
=
=
=
real(V(1))*conj(V(1)-V(2));
real(V(1))*conj(V(1)-V(3));
real(V(2))*conj(V(2)-V(1));
real(V(2))*conj(V(2)-V(3));
real(V(3))*conj(V(3)-V(1));
real(V(3))*conj(V(3)-V(2));
Q12 = imag(V(1))*conj(V(1)-V(2));
Q13 = imag(V(1))*conj(V(1)-V(3));
Q21 = imag(V(2))*conj(V(2)-V(1));
Q23 = imag(V(2))*conj(V(2)-V(3));
Q31 = imag(V(3))*conj(V(3)-V(1));
Q32 = imag(V(3))*conj(V(3)-V(2));
P1 = real(S(1));
Q1 = imag(S(1));
P2 = real(S(2));
Q2 = imag(S(2));
12/6/15 6:41 PM
C:\Users\SB\Desktop\decouple.m
4 of 4
P3 = real(S(3));
Q3 = imag(S(3));
%Result (print of mismatch values)%
fprintf('\n %s %2d %s \n', 'Iter:',Iter,'Mismatch 1
Mismatch 2
Mismatch 3')
fprintf('\t\t %7.4f \t\t %7.4f \t\t\t%7.4f \n', Mismatch(1),Mismatch(2), Mismatch(3) );
if max(abs(Mismatch)> Tolerance)
ConvFlag = 1;
else
ConvFlag = 0;
end
end
J;
%coversion of radians into degrees and printing final answers%
ANG2DEG=ANG2*180/pi
ANG3DEG=ANG3*180/pi
V3MAG
P1
Q1
P2
Q2
P3
Q3