实 验 报 告
实验课程: 电力系统分析
学生姓名:
学 号:
专业班级: 电力系统 班
2010年 6 月 14 日
南昌大学实验报告
学生姓名: *** 学 号: 专业班级: 电力系统 班
实验类型:□ 验证 ■ 综合 □ 设计 □ 创新 实验日期: 2010.5.31-6.14 实验成绩:
一、实验项目名称:
电力系统潮流计算实验
二、实验目的:
本实验通过对电力系统潮流计算的计算机程序的编制与调试,获得对复杂电力系统进行潮流计算的计算机程序,使系统潮流计算能够由计算机自行完成,即根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,由计算程序运行完成该电力系统的潮流计算。通过实验教学加深学生对复杂电力系统潮流计算计算方法的理解,学会运用电力系统的数学模型,掌握潮流计算的过程及其特点,熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。
三、实验基本原理:
(一)潮流计算的基本概念
电力系统的潮流方程的一般形式是
式(1-1)
将上述方程的实部和虚部分开,对每一节点可的两个实数方程,但是变量仍有4个,即P、Q、V、δ。我们必须给定其中的2个,而留下的两个作为待求变量,方程组才可以求解。根据电力系统的实际运行条件,按给定变量的不同,一般将节点分为以下三种类型。
根据给定的控制变量和状态变量的不同分类如下
1.P、Q节点(负荷节点),给定Pi、Qi求Vi、Si,所求数量最多;
2.负荷节点,变电站节点(联络节点、浮游节点),给定PGi、QGi的发电机节点,给定QGi的无功电源节点;
3.PV节点(调节节点、电压控制节点),给定Pi、Qi求Qn、Sn,所求数量少,可以无有功储备的发电机节点和可调节的无功电源节点;
4.平衡节点(松弛节点、参考节点(基准相角)、S节点、VS节点、缓冲节点),给定Vi,δi=0,求Pn、Qn(Vs、δs、Ps、Qs)。
将平衡系统的有功平衡节点和各节点电压相角的参考接地节点可以合二为一,对于有较大调节裕量的发电机节点或出现最多的发电机节点可以改善收敛。
(二)节点电压用直角坐标表示时的牛顿-拉夫逊法潮流计算
采用直角坐标时,节点电压可表示为
导纳矩阵元素则表示为
将上述表示式代入式(1-1)的右端,展开并分出实部和虚部,便得
式(1-2)
假定系统中的第1,2,···,m号节点为PQ节点,第i个节点的给定功率设为和,对该节点可列写方程
(i=1,2,···,m) 式(1-3)
假定系统中的第m+1,m+2,···,n-1号节点为PV节点,则对其中每一个节点可以列写方程
(i=m+1,m+2,···,n-1) 式(1-4)
第n号节点为平衡节点,其电压是给定的,故不参加迭代。
式(1-3)和式(1-4)总共包含了2(n-1)个方程,待求的变量有也是2(n-1)个。按求解非线性代数方程组的方法可得修正方程式
式(1-5)
式中
上述方程中雅克比矩阵J中的各元素,可以对式(1-3)和式(1-4)求偏导数获得。当时
式(1-6)
当时
式(1-7)
四、主要仪器设备及耗材:
计算机、软件(已安装,包括各类编程软件C语言、C++、VB、VC等、应用软件MATLAB等)、移动存储设备(学生自备,软盘、U盘等)。
五、实验步骤:
编制调试电力系统潮流计算的计算机程序。程序要求根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,完成该电力系统的潮流计算,要求计算出节点电压、功率等参数。
1、在各种潮流计算的算法中选择一种,按照计算方法编制程序。
2、将事先编制好的电力系统潮流计算的计算程序原代码由自备移动存储设备导入计算机。
3、在相应的编程环境下对程序进行组织调试。
4、应用计算例题验证程序的计算效果。
5、对调试正确的计算程序进行存储、打印。
6、完成本次实验的实验报告。
六、程序框图:
图11—27牛顿-拉夫逊法潮流计算程序框
输出
七、实验程序及运行结果:
在上图所示的简单电力系统中,系统中节点1、2为PQ节点,节点3为PV节点,节点4为平衡节点,已给定:
P1s+jQ1s=-0.30-j0.18 P2s+jQ2s=-0.55-j0.13 P3s=0.5 V3s=1.10 V4s=1.05∠0°
容许误差ε=10-5
计算结果:
节点导纳矩阵:
各节点电压:
节点 e f v ζ
1.0.984637 -0.008596 0.984675 -0.500172
2.0.958690 -0.108387 0.9798 -6.450306
3.1.092415 0.1255 1.100000 6.732347
4.1.050000 0.000000 1.050000 0.000000
各节点功率:
节点 P Q
1-0.300000 -0.180000
2–0.550000 -0.130000
3 0.500000 -0.551305
4 0.367883 0.2698
运行自行设计的程序,把结果与例题的计算结果相比较,验证所采用的计算方法及程序运行的正确性。如果采用的是近似计算方法,还需分析由于近似所产生的误差是否在运行范围内。
程序如下所示:
%本程序的功能是用牛顿-拉夫逊法进行潮流计算
n=input('请输入节点数:n=');
nl=input('请输入支路数:nl=');
ph=input('请输入平衡母线节点号:ph=');
jd=input('请输入误差精度jd=');
B1=input('请输入由支路参数形成的矩阵:B1=');
A=input('请输入各节点参数形成的矩阵:A='); %第一列为功率,第二列为电压初值,
第三列为电压幅值,第四列为节点类
型:1代表平衡节点,2代表PQ节点,
3代表PV节点
Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);
for L=1:nl
p=B1(L,1);q=B1(L,2);
Y(p,q)=Y(p,q)-1/(B1(L,3)*B1(L,5));
Y(q,p)=Y(p,q);
Y(q,q)=Y(q,q)+1/B1(L,3)+B1(L,4);
Y(p,p)=Y(p,p)+1/(B1(L,3)*B1(L,5)^2)+B1(L,4);
end %形成节点导纳矩阵
disp('节点导纳矩阵Y为:');
disp(Y);
G=real(Y);B=imag(Y); %Y=G+i*B
for L=1:n
e(L)=real(A(L,2));
f(L)=imag(A(L,2)); %V=e+i*f
V(L)=A(L,3);
end
for L=1:n
S(L)=A(L,1);
end
P=real(S);Q=imag(S);
K=0;a=1;NO=2*n;N=NO-1; %开始求雅克比矩阵,K为迭代次数
while a~=0
a=0;
for L=1:n
if L~=ph
C(L)=0;
D(L)=0;
for T=1:n
C(L)=C(L)+G(L,T)*e(T)-B(L,T)*f(T);
D(L)=D(L)+G(L,T)*f(T)+B(L,T)*e(T);
end
P1=C(L)*e(L)+f(L)*D(L);
Q1=f(L)*C(L)-D(L)*e(L); %求Pi,Qi
V2=e(L)^2+f(L)^2;
if A(L,4)~=3 %若节点不是PV节点
DP=P(L)-P1;
DQ=Q(L)-Q1;
for T=1:n
if T~=ph&T~=L %节点不为平衡节点时非对角线元素
X1=-G(L,T)*e(L)-B(L,T)*f(L);
X2=B(L,T)*e(L)-G(L,T)*f(L);
X3=X2;
X4=-X1;
p=2*L-1;q=2*T-1;J(p,q)=X1;J(p,N)=DP;m=p+1;
J(m,q)=X3;J(m,N)=DQ;q=q+1;J(p,q)=X2;J(m,q)=X4;
Elseif T==L&T~=ph %节点不为平衡节点时对角线元素
X1=-C(L)-G(L,L)*e(L)-B(L,L)*f(L);
X2=-D(L)+B(L,L)*e(L)-G(L,L)*f(L);
X3=D(L)+B(L,L)*e(L)-G(L,L)*f(L);
X4=-C(L)+G(L,L)*e(L)+B(L,L)*f(L);
p=2*L-1;q=2*T-1;J(p,q)=X1;J(p,N)=DP;m=p+1;
J(m,q)=X3;J(m,N)=DQ;q=q+1;J(p,q)=X2;J(m,q)=X4;
end
end
else %若节点是PV节点
DP=P(L)-P1;
DV=V(L)^2-V2;
forT=1:n
if T~=ph&T~=L
X1=-G(L,T)*e(L)-B(L,T)*f(L);
X2=B(L,T)*e(L)-G(L,T)*f(L);
X5=0;
X6=0;
p=2*L-1;q=2*R-1;J(p,q)=X1;J(p,N)=DP;m=p+1;
J(m,q)=X5;J(m,N)=DV;q=q+1;J(p,q)=X2;J(m,q)=X6;
elseif T==L&T~=ph
X1=-C(L)-G(L,L)*e(L)-B(L,L)*f(L);
X2=-D(L)+B(L,L)*e(L)-G(L,L)*f(L);
X5=-2*e(L);
X6=-2*f(L);
p=2*L-1;q=2*T-1;J(p,q)=X1;J(p,N)=DP;m=p+1;
J(m,q)=X5;J(m,N)=DV;q=q+1;J(p,q)=X2;J(m,q)=X6;
end
end
end
end
end
disp('雅克比矩阵J:');
disp(J);
DJ=-J(:,[1:N]); %修正方程系数矩阵DJ=-J
DW=J(:,N); %修正方程常数项矩阵DW
DY=DJ\\DW;
disp('第K次修正方程的解DY:');
disp(DY);
for L=1:n
DET=abs(DW(L));
if DET>=jd
a=a+1;
end
end
K=K+1;
for L=1:n-1
e(L)=e(L)+DY(2*L-1);
f(L)=f(L)+DY(2*L);
end
E=e+f*i;
disp('节点电压的第K次近似值:');
disp(E);
disp('迭代次数:');
disp(T-1);
for L=1:n
V(L)=sqrt(e(L)^2+f(L)^2);
O(L)=atan(f(L)./e(L))*180./pi;
end %收敛后节点电压用极坐标表示的结果
E=e+f*i;
disp('各节点的实际电压标么值E为(节点号从小到大排列):');disp(E);
disp('各节点的电压大小V为(节点号从小到大排列):');disp(V);
disp('各节点的电压相角O(单位:度)为(节点号从小到大排列):');disp(O);
for p=1:n
C(p)=0;
for q=1:n
C(p)=C(p)+conj(Y(p,q))*conj(E(q));
end
S(p)=E(p)*C(p);
end
end
disp('各节点的功率S为(节点号从小到大排列):');
disp(S);
disp('平衡节点功率为:');
disp(S(ph));
%计算支路功率S(L,T)
S=zeros(nl);y0=zeros(nl,1);
for T=1:2
for L=1:nl
for M=1:nl
if M==B1(L,T)
y0(M,1)=y0(M,1)+B1(L,4);
end
end
end
end
for L=1:nl
for T=1:nl&T~=L
S(L,T)= (E(L)^2)*(y0(L,1))+ E(L)*(conj(E(L))-conj(E(T))) *(conj(1/(B1(L,3)*B 1(L,5))));
disp('各条支路的功率S(L,T)为(按B0阵输入节点号排):');
disp(S(L,T));
end
end
程序结果运行如下
请输入节点数:n =
4
请输入支路数:nl =
4
请输入平衡母线节点号:ph =
4
请输入误差精度:jd =
1.0000e-005
请输入由支路参数形成的矩阵:B1 =
1.0000 2.0000 0.1000 + 0.4000i 0 + 0.0153i 1.0000
1.0000 3.0000 0 + 0.3000i 0 0.9091
1.0000 4.0000 0.1200 + 0.5000i 0 + 0.0192i 1.0000
2.0000 4.0000 0.0800 + 0.4000i 0 + 0.0141i 1.0000
A =
-0.3000 - 0.1800i 1.0000 0 2.0000
-0.5500 - 0.1300i 1.0000 0 2.0000
0.5000 1.1000 1.1000 3.0000
0 1.0500 0 1.0000
节点导纳矩阵Y为:
1.0421 - 8.2429i -0.5882 + 2.3529i 0 + 3.6667i -0.4539 + 1.11i
-0.5882 + 2.3529i 1.0690 - 4.7274i 0 -0.4808 + 2.4038i
0 + 3.6667i 0 0 - 3.3333i 0
-0.4539 + 1.11i -0.4808 + 2.4038i 0 0.9346 - 4.2616i
雅克比矩阵J:
-1.0194 -8.3719 0.5882 2.3529 0 3.6667 -0.2773
-8.1138 1.08 2.3529 -0.5882 3.6667 0 -0.0510
0.5882 2.3529 -1.0450 -4.8770 0 0 -0.5260
2.3529 -0.5882 -4.5778 1.0930 0 0 0.0196
0 4.0333 0 0 0 -3.6667 0.5000
0 0 0 0 -2.2000 0 0
第K次修正方程的解DY:
-0.0065
-0.0088
-0.0237
-0.1078
0.0000
0.1267
0
节点电压的第K次近似值:
0.9935 - 0.0088i 0.9763 - 0.1078i 1.1000 + 0.1267i 1.0500
迭代次数:
0
各节点的实际电压标么值E为(节点号从小到大排列):
0.9935 - 0.0088i 0.9763 - 0.1078i 1.1000 + 0.1267i 1.0500
各节点的电压大小V为(节点号从小到大排列):
0.9936 0.9823 1.1073 1.0500
各节点的电压相角O(单位:度)为(节点号从小到大排列):
-0.5091 -6.3017 6.5680 0
雅克比矩阵J:
-0.8091 -8.3613 0.6052 2.3325 0.0324 3.29 -0.0013
-7.9992 1.4071 2.3325 -0.6052 3.29 -0.0324 -0.0028
0.8280 2.2338 -1.0190 -4.63 0 0 -0.0135
2.2338 -0.8280 -4.31 2.0878 0 0 -0.0547
-0.44 4.0333 0 0 -0.0324 -3.29 0.0030
0 0 0 0 -2.2000 -0.2533 0
第K次修正方程的解DY:
-0.0049
-0.0007
-0.0153
-0.0008
-0.0001
0.0006
0
节点电压的第K次近似值:
0.9886 - 0.0096i 0.9611 - 0.1086i 1.0999 + 0.1273i 1.0500
迭代次数:
1
各节点的实际电压标么值E为(节点号从小到大排列):
0.9886 - 0.0096i 0.9611 - 0.1086i 1.0999 + 0.1273i 1.0500
各节点的电压大小V为(节点号从小到大排列):
0.9887 0.9672 1.1073 1.0500
各节点的电压相角O(单位:度)为(节点号从小到大排列):
-0.5539 -6.4474 6.6017 0
雅克比矩阵J:
-0.8073 -8.3240 0.6040 2.3205 0.0350 3.6249 -0.0000
-7.9540 1.4107 2.3205 -0.6040 3.6249 -0.0350 -0.0000
0.8209 2.1974 -0.9909 -4.6236 0 0 -0.0002
2.1974 -0.8209 -4.2307 2.0907 0 0 -0.0009
-0.4668 4.0331 0 0 -0.0350 -3.6249 0.0000
0 0 0 0 -2.1999 -0.2546 -0.0000
第K次修正方程的解DY:
1.0e-003 *
-0.0816
-0.0160
-0.2633
-0.0065
0.0005
-0.0040
0
节点电压的第K次近似值:
0.9885 - 0.0096i 0.9608 - 0.1086i 1.0999 + 0.1273i 1.0500
迭代次数:
2
各节点的实际电压标么值E为(节点号从小到大排列):
0.9885 - 0.0096i 0.9608 - 0.1086i 1.0999 + 0.1273i 1.0500
各节点的电压大小V为(节点号从小到大排列):
0.9886 0.9669 1.1073 1.0500
各节点的电压相角O(单位:度)为(节点号从小到大排列):
-0.5549 -6.4495 6.6015 0
雅克比矩阵J:
-0.8074 -8.3233 0.6040 2.3203 0.0351 3.6246 -0.0000
-7.9533 1.4107 2.3203 -0.6040 3.6246 -0.0351 -0.0000
0.8207 2.1968 -0.9904 -4.6234 0 0 -0.0000
2.1968 -0.8207 -4.2284 2.0907 0 0 -0.0000
-0.4667 4.0331 0 0 -0.0351 -3.6246 -0.0000
0 0 0 0 -2.1999 -0.2546 0
第K次修正方程的解DY:
1.0e-007 *
-0.2396
-0.0544
-0.7818
-0.0151
0.0038
-0.0331
0
节点电压的第K次近似值:
0.9885 - 0.0096i 0.9608 - 0.1086i 1.0999 + 0.1273i 1.0500
迭代次数:
3
各节点的实际电压标么值E为(节点号从小到大排列):
0.9885 - 0.0096i 0.9608 - 0.1086i 1.0999 + 0.1273i 1.0500
各节点的电压大小V为(节点号从小到大排列):
0.9886 0.9669 1.1073 1.0500
各节点的电压相角O(单位:度)为(节点号从小到大排列):
-0.5549 -6.4495 6.6015 0
各节点的功率S为(节点号从小到大排列):
-0.3000 - 0.1800i -0.5500 - 0.1300i 0.5000 + 0.1045i 0.3675 + 0.2511i
平衡节点功率为:
0.3675 + 0.2511i
各条支路的功率S(L,T)为(按B0阵输入节点号排):
S =
0 0.2472 + 0.0371i -0.3842 - 0.1433i -0.0587 - 0.1043i
-0.3530 - 0.0279i 0 -0.8795 - 0.3658i -0.4112 - 0.2407i
0.3121 + 0.2426i 0.5310 + 0.2763i 0 0.2757 + 0.1136i
0.0552 + 0.1871i 0.3192 + 0.2071i -0.3465 - 0.0250i 0
经验算可知:实验结果与例题所给结果在误差范围内,可以认为程序运行成功。
八、思考讨论题或体会或对改进实验的建议:
1.潮流计算有几种方法?简述各种算法的优缺点。
答:有3种。
1)、牛顿-拉夫逊法:牛顿-拉夫逊法按照电压的表示方法不同,又分为直角坐标形式和极坐标形式,牛顿-拉夫逊法潮流计算具有二阶收敛特性,计算中收敛速度较快,但是当导纳矩阵阶数较高时,初值敏感性问题突出;
2)、P-Q分解法:P-Q分解法是极坐标牛顿-拉夫逊法的一种简化算法快速分解法,有两个主要特点: (1)降阶在潮流计算的修正方程中利用了有功功率主要与节点电压相位有关,无功功率主要与节点电压幅值有关的特点,实现P-Q分解,使系数矩阵由原来的2N×2N 阶降为N×N阶,N为系统的节点数(不包括缓冲节点)。 (2)因子表固定化利用了线路两端电压相位差不大的假定,使修正方程系数矩阵元素变为常数,并且就是节点导纳的虚部。由于以上两个特点,使快速分解法每一次迭代的计算量比牛顿法大大减少。P-Q分解法只具有一次收敛性,因此要求的迭代次数比牛顿法多,但总体上快速分解法的计算速度仍比牛顿法快。快速分解法只适用于高压网的潮流计算,对中、低压网,因线路电阻与电抗的比值大,线路两端电压相位差不大的假定已不成立,用快速分解法计算,会出现不收敛问题。
3)、高斯-赛德尔迭代法 可直接迭代解网络方程
另外现在遗传算法、神经网络、模糊算法也已经开始应用到潮流计算中来,但还不是很成熟,用的不多。
2.在潮流计算中,电力网络的节点分几类?各类节点的已知量和待求量是什么?
答:电力网路的节点分3类,为PV节点、PQ节点和平衡节点。
PQ节点的已知量是有功功率P和无功功率Q,待求量是节点电压();PV节点的已知量是有功功率P和电压幅值V,待求量是无功功率Q和电压相角;平衡节点的已知量是节点电压(),待求量是有功功率P和无功功率Q。
3.潮流计算中的雅可比矩阵在每次迭代时是一样的吗?为什么?
答:不是。因为雅克比矩阵各元素都是节点电压的函数,它们的数值将在迭代过程中不断地改变。
4.节点导纳矩阵的稀疏性对潮流计算程序的编制有何影响?如何利用?
答:如果节点导纳矩阵中的Yij=0,则雅各比矩阵中相关的4个元素都为零,雅各比矩阵也具有相当的稀疏性,可以利用这点减少计算,只计算不为零上网元素即可。
5.雅可比矩阵的形成一般情况下比较繁琐,可以采取哪些方法进行简化?
答:可以利用因子表法简化,利用常数矩阵不变的特点反复求解,减少计算加快速度。
九、参考资料
[1]何仰赞,温增银.电力系统分析(第三版).武汉:华中科技大学出版社,2002
[2]陈珩,电力系统稳态分析,北京:中国电力出版社,1995
[3]于永源,杨绮雯合编,电力系统分析,北京:中国电力出版社,1996
[4]周永海编著,C语言程序设计教程,北京:机械工业出版社,2004