电力系统分析潮流计算大作业(源程序及实验报告)
源程序如下:
采用直角坐标系的牛顿-拉夫逊迭代
function chaoliujisuan()
m=3; %m=PQ节点个数
v=1;%v=PV节点个数
P=[-0.8055 -0.18 0]; %P=PQ节点的P值
Q=[-0.5320 -0.12 0]; %Q=PQ节点的Q值
PP=[0.5];%PP=PV节点的P值
V=[1.0];%V=PV节点的U值
E=[1 1 1 1.0 1.0]'; %E=PQ,PV,Vθ节点e的初值
F=[0 0 0 0 0]'; %F=PQ,PV,Vθ节点f的初值
G=[
6.3110 -3.5587 -2.7523 0 0;
-3.5587 8.5587 -5 0 0;
-2.7523 -5 7.7523 0 0;
0 0 0 0 0;
0 0 0 0 0
];
B=[
-20.4022 11.3879 9.1743 0 0;
11.3879 -31.00937 15 4.9889 0;
9.1743 15 -28.7757 0 4.9889;
0 4.9889 0 5.2493 0;
0 0 4.9889 0 -5.2493
];
Y=G+j*B;
X=[]; %X=△X
n=m+v+1;%总的节点数
FX=ones(2*n-2,1);%F(x)矩阵
F1=zeros(n-1,n-1);%F(x)导数矩阵
a=0;%记录迭代次数
EF=zeros(n-1,n-1);%最后的节点电压矩阵
while max(FX)>=10^(-5)
for i=1:m %PQ节点
FX(i)=P(i);%△P
FX(n+i-1)=Q(i);%△Q
for w=1:n
FX(i)=
FX(i)-E(i)*G(i,w)*E(w)+E(i)*B(i,w)*F(w)-F(i)*G(i,w)*F(w)-F(i)*B(i,w)*E(w); %△P
FX(n+i-1)=FX(n+i-1)-F(i)*G(i,w)*E(w)+F(i)*B(i,w)*F(w)+E(i)*G(i,w)*F(w)+E(i)*B(i ,w)*E(w); %△Q
end
end
for i=m+1:n-1 %PV节点
FX(i)=PP(i-m);%△P
FX(n+i-1)=V(i-m)^2-E(i)^2-F(i)^2; %△Q
for w=1:n
FX(i)=
FX(i)-E(i)*G(i,w)*E(w)+E(i)*B(i,w)*F(w)-F(i)*G(i,w)*F(w)-F(i)*B(i,w)*E(w);%△P end
end
for i=1:m %PQ节点
for w=1:n-1
if i~=w
F1(i,w)=-(G(i,w)*E(i)+B(i,w)*F(i));
F1(i,n+w-1)=B(i,w)*E(i)-G(i,w)*F(i);
F1(n+i-1,w)=B(i,w)*E(i)-G(i,w)*F(i);
F1(n+i-1,n+w-1)=G(i,w)*E(i)+B(i,w)*F(i);
else
F1(i,w)=-G(i,i)*E(i)-B(i,i)*F(i);
F1(i,n+w-1)=B(i,i)*E(i)-G(i,i)*F(i);
F1(n+i-1,w)=B(i,i)*E(i)-G(i,i)*F(i);
F1(n+i-1,n+w-1)=G(i,i)*E(i)+B(i,i)*F(i);
for k=1:n
F1(i,w)=F1(i,w)-G(i,k)*E(k)+B(i,k)*F(k);
F1(i,n+w-1)= F1(i,n+w-1)-G(i,k)*F(k)-B(i,k)*E(k);
F1(n+i-1,w)=F1(n+i-1,w)+G(i,k)*F(k)+B(i,k)*E(k);
F1(n+i-1,n+w-1)=F1(n+i-1,n+w-1)-G(i,k)*E(k)+B(i,k)*F(k);
end
end
end
end
for i=m+1:n-1 %PV节点
for w=1:n-1
if i~=w
F1(i,w)=-(G(i,w)*E(i)+B(i,w)*F(i));
F1(i,n+w-1)=B(i,w)*E(i)-G(i,w)*F(i);
F1(n+i-1,w)=0;
F1(n+i-1,n+w-1)=0;
else
F1(i,w)=-G(i,i)*E(i)-B(i,i)*F(i);
F1(i,n+w-1)=B(i,i)*E(i)-G(i,i)*F(i);
F1(n+i-1,w)=-2*E(i);
F1(n+i-1,n+w-1)=-2*F(i);
for k=1:n
F1(i,w)=F1(i,w)-G(i,k)*E(k)+B(i,k)*F(k);
F1(i,n+w-1)= F1(i,n+w-1)-G(i,k)*F(k)-B(i,k)*E(k);
end
end
end
end
X=inv(F1)*(-FX) ;
for i=1:n-1
E(i)=E(i)+X(i);
F(i)=F(i)+X(n+i-1);
end
a=a+1;
fprintf('第%d次迭代后的节点电压分别为:\n',a);
disp(E+j*F);
fprintf('第%d次迭代后功率偏差△P △Q电压偏差△V的平方分别为:\n',a); disp(FX);
end
disp('收敛后的节点电压用极坐标表示为:');
EF=E+j*F;
for i=1:n-1
fprintf('%d号节点电压的幅值为:',i)
disp(abs(EF(i)));
fprintf('%d号节点电压的相角度数为',i)
disp(angle(EF(i))*180/pi);
end
PPH=0;
for i=1:n
PPH=PPH+EF(n)*conj(Y(n,i))*conj(EF(i));
end
fprintf('平衡节点的功率');
disp(PPH);
运行结果:
运行结果复制如下:
第1次迭代后的节点电压分别为:
1.0034 - 0.1306i
1.0285 - 0.1019i
1.0339 - 0.0973i
1.0000 - 0.0017i
1.0000
第1次迭代后功率偏差△P △Q电压偏差△V的平方分别为: -0.8055
-0.1800
0.5000
-0.3720
0.2474
0.3875
第2次迭代后的节点电压分别为:
0.9836 - 0.1290i
1.0126 - 0.1038i
1.0183 - 0.0995i
1.0000 - 0.0035i
1.0000
第2次迭代后功率偏差△P △Q电压偏差△V的平方分别为:
0.0512
-0.0222
-0.0403
0.0002
-0.1012
-0.0219
-0.0099
-0.0000
第3次迭代后的节点电压分别为:
0.9831 - 0.1290i
1.0122 - 0.1038i
1.0180 - 0.0996i
1.0000 - 0.0035i
1.0000
第3次迭代后功率偏差△P △Q电压偏差△V的平方分别为:
0.0008
-0.0003
-0.0005
-0.0001
-0.0021
-0.0004
-0.0003
-0.0000
第4次迭代后的节点电压分别为:
0.9831 - 0.1290i
1.0122 - 0.1038i
1.0180 - 0.0996i
1.0000 - 0.0035i
1.0000
第4次迭代后功率偏差△P △Q电压偏差△V的平方分别为: 1.0e-005 *
0.0280
-0.0083
-0.0164
-0.0121
-0.1085
-0.0199
-0.0135
-0.0005
收敛后的节点电压用极坐标表示为:
1号节点电压的幅值为: 0.9916
1号节点电压的相角度数为-7.4748 2号节点电压的幅值为: 1.0175
2号节点电压的相角度数为-5.8548 3号节点电压的幅值为: 1.0229
3号节点电压的相角度数为-5.5864 4号节点电压的幅值为: 1.0000
4号节点电压的相角度数为-0.2021 平衡节点的功率0.4968 -10.3280i。