1、电力系统编程潮流计算1 设计任务及初步分析1.1 设计任务条件:节点数:3 支路数:3 计算精度:0.00010支路1: 0.0300+j0.0900 12支路2: 0.0200+j0.0900 23支路3: 0.0300+j0.0900 31节点1:PQ节点,S(1)=-0.5000-j0.节点2:PQ节点,S(2)=-0.6000-j0.2500节点3:平衡节点,U(3)=1.00000.0000规定:编写程序计算潮流1.2 初步分析潮流计算在数学上可归结为求解非线性方程组,其数学模型简写如下: 2 牛顿-拉夫逊法简介2.1概述牛顿拉夫逊法是当前求解非线性方程最佳一种办法。这种办法特点就是
2、把对非线性方程求解过程变成重复对相应线性方程求解过程,普通称为逐次线性化过程,就是牛顿拉夫逊法核心。牛顿-拉夫逊法基本原理是在解某一邻域内某一初始点出发,沿着该点一阶偏导数雅可比矩阵,朝减小方程残差方向迈进一步,在新点上再计算残差和雅可矩阵继续迈进,重复这一过程直到残差达到收敛原则,即得到了非线性方程组解。由于越接近解,偏导数方向越准,收敛速度也越快,因此牛顿法具备二阶收敛特性。而所谓“某一邻域”是指雅可比喻向均指向解范畴,否则也许走向非线性函数其他极值点,普通来说潮流由平电压即各母线电压(相角为0,幅值为1)启动即在此邻域内。22 普通概念对于非线性代数方程组即 (21)在待求量某一种初始计
3、算值附件,将上式展开泰勒级数并略去二阶及以上高阶项,得到如下线性化方程组 (22)上式称之为牛顿法修正方程式。由此可以求得第一次迭代修正量 (23)将和相加,得到变量第一次改进值。接着再从出发,重复上述计算过程。因而从一定初值出发,应用牛顿法求解迭代格式为 (24) (25)上两式中:是函数对于变量一阶偏导数矩阵,即雅可比矩阵;为迭代次数。由式(24)和式子(25)可见,牛顿法核心便是重复形成求解修正方程式。牛顿法当时始预计值和方程精准解足够接近时,收敛速度非常快,具备平方收敛特性。2.3 潮流计算修正方程运用牛顿拉夫逊法计算潮流分布时,一方面要找出描述电力系统非线性方程。这里仍从节点电压方程
4、入手,设电力系统导纳矩阵已知,则系统中某节点(节点)电压方程为从而得 进而有 (26)式(26)中,左边第一项为给定节点注入功率,第二项为由节点电压求得节点注入功率。她们两者之差就是节点功率不平衡量。当前有待解决问题就是各节点功率不平衡量都趋近于零时,各节点电压应具备价值。由此可见,如将式(26)作为牛顿拉夫逊中非线性函数,其中节点电压就相称于变量。建立了这种相应关系,就可列出修正方程式,并迭代求解。但由于节点电压可有两种表达方式以直角做表或者极坐标表达,因而列出迭代方程相应地也有两种,下面分别讨论。2.4 直角坐标表达修正方程节点电压以直角坐标表达时,令、,且将导纳矩阵中元素表达为,则式(2
5、7)变化为 (27)再将实部和虚某些开,可得 (28)这就是直角坐标下功率方程。可见,一种节点列出了有功和无功两个方程。对于节点(),给定量为节点注入功率,记为、,则由式(28)可得功率不平衡量,作为非线性方程(29)式中、分别表达第节点有功功率不平衡量和无功功率不平衡量。对于节点(),给定量为节点注入有功功率及电压数值,记为、,因而,可以运用有功功率不平衡量和电压不平衡量表达出非线性方程,即有(210)式中为电压不平衡量。对于平衡节点(),由于电压数值及相位角给定,因此也拟定,不需要参加迭代求节点电压。因而,对于个节点系统只能列出个方程,其中有功功率方程个,无功功率方程个,电压方程个。将式(
6、29)、式(210) 非线性方程联立,称为个节点系统非线性方程组,且按泰勒级数在、()展开,并略去高次项,得到以矩阵形式表达修正方程如下。 (211)上式中雅可比矩阵各个元素则分别为 将(211)写成缩写形式 (212)对雅可比矩阵各元素可做如下讨论:当时,对于特定,只有该特定点和是变量,于是雅可比矩阵中各非对角元素表达为 当时,雅可比矩阵中各对角元素表达式为由上述表达式可知,直角坐标雅可比矩阵有如下特点:1) 雅可比矩阵是阶方阵,由于、等等,因此它是一种不对称方阵。2) 雅可比矩阵中诸元素是节点电压函数,在迭代过程中随电压变化而不断地变化。3) 雅可比矩阵非对角元素与节点导纳矩阵中相应非对角
7、元素关于,当中为零时,雅可比矩阵中相应、也都为零,因而,雅可比矩阵也是一种稀疏矩阵。3 程序设计3.1 程序流程图图3-1 程序流程图3.2 源程序n=3n1=3isb=3pr=0.0001B1=1 2 0.03+0.09i 0 1 0;1 3 0.03+0.09i 0 1 0;2 3 0.02+0.09i 0 1 0B2=0 -0.5-0.2i 1 0 0 2;0 -0.6-0.25i 1 0 0 2;0 0 1 1 0 1X=1 0;2 0;3 0%X=input(节点号和对地参数:X=);Y=zeros(n);Times=1;%置迭代次数为初始值 %创立节点导纳矩阵 for i=1:n1
8、 if B1(i,6)=0 %不含变压器支路 p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/B1(i,3);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4);Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4);else %具有变压器支路 p=B1(i,1);q=B1(i,2);Y(p,q)=Y(p,q)-1/(B1(i,3)*B1(i,5);Y(q,p)=Y(p,q);Y(p,p)=Y(p,p)+1/B1(i,3);Y(q,q)=Y(q,q)+1/(B1(i,5)2*B1(i,3);end end
9、Y OrgS=zeros(2*n-2,1);DetaS=zeros(2*n-2,1);%将OrgS、DetaS初始化 %创立OrgS,用于存储初始功率参数 h=0;j=0;for i=1:n %对PQ节点解决 if i=isb&B2(i,6)=2 h=h+1;for j=1:n OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)+imag(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);OrgS
10、(2*h,1)=OrgS(2*h,1)+imag(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)-real(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);end end end for i=1:n %对PV节点解决,注意这时不可再将h初始化为0 if i=isb&B2(i,6)=3 h=h+1;for j=1:n OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag
11、(Y(i,j)*imag(B2(j,3)+imag(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)-real(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);end end end OrgS %创立PVU 用于存储PV节点初始电压 PVU=zeros(n-h-1,1);t=0;for
12、 i=1:n if B2(i,6)=3 t=t+1;PVU(t,1)=B2(i,3);end end PVU %创立DetaS,用于存储有功功率、无功功率和电压幅值不平衡量 h=0;for i=1:n %对PQ节点解决 if i=isb&B2(i,6)=2 h=h+1;DetaS(2*h-1,1)=real(B2(i,2)-OrgS(2*h-1,1);DetaS(2*h,1)=imag(B2(i,2)-OrgS(2*h,1);end end t=0;for i=1:n %对PV节点解决,注意这时不可再将h初始化为0 if i=isb&B2(i,6)=3 h=h+1;t=t+1;DetaS(2*
13、h-1,1)=real(B2(i,2)-OrgS(2*h-1,1);DetaS(2*h,1)=real(PVU(t,1)2+imag(PVU(t,1)2-real(B2(i,3)2-imag(B2(i,3)2;end end DetaS %创立I,用于存储节点电流参数 i=zeros(n-1,1);h=0;for i=1:n if i=isb h=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1)/conj(B2(i,3);end end I %创立Jacbi(雅可比矩阵) Jacbi=zeros(2*n-2);h=0;k=0;for i=1:n %对
14、PQ节点解决 if B2(i,6)=2 h=h+1;for j=1:n if j=isb k=k+1;if i=j %对角元素解决 Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3)+imag(I(h,1);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3)+real(I(h,1);Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1);Jacbi(2*h,2*k)=Jacbi(2*h
15、-1,2*k-1)-2*imag(I(h,1);else %非对角元素解决 Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3);Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);end if k=(n-1) %将用于内循环指针置于初始值,以保证雅可比矩阵换行 k=0;end end end
16、 end end k=0;for i=1:n %对PV节点解决 if B2(i,6)=3 h=h+1;for j=1:n if j=isb k=k+1;if i=j %对角元素解决 Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3)+imag(I(h,1);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3)+real(I(h,1);Jacbi(2*h,2*k-1)=2*imag(B2(i,3);Jacbi(2*h,2*k)=2
17、*real(B2(i,3);else %非对角元素解决 Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3);Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;end if k=(n-1) %将用于内循环指针置于初始值,以保证雅可比矩阵换行 k=0;end end end end end Jacbi %求解修正方程,获取节点电压不平衡量 DetaU=zer
18、os(2*n-2,1);DetaU=inv(Jacbi)*DetaS;DetaU %修正节点电压 j=0;for i=1:n %对PQ节点解决 if B2(i,6)=2 j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);end end for i=1:n %对PV节点解决 if B2(i,6)=3 j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);end end B2 while abs(max(DetaS)pr OrgS=zeros(2*n-2,1);%!初
19、始功率参数在迭代过程中是不累加,因此在这里必要将其初始化为零矩阵 h=0;j=0;for i=1:n if i=isb&B2(i,6)=2 h=h+1;for j=1:n OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)+imag(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3)*(real(Y(i,j)*real(B2(
20、j,3)-imag(Y(i,j)*imag(B2(j,3)-real(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);end end end for i=1:n if i=isb&B2(i,6)=3 h=h+1;for j=1:n OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)+imag(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B
21、2(j,3);OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3)*(real(Y(i,j)*real(B2(j,3)-imag(Y(i,j)*imag(B2(j,3)-real(B2(i,3)*(real(Y(i,j)*imag(B2(j,3)+imag(Y(i,j)*real(B2(j,3);end end end OrgS %创立DetaS h=0;for i=1:n if i=isb&B2(i,6)=2 h=h+1;DetaS(2*h-1,1)=real(B2(i,2)-OrgS(2*h-1,1);DetaS(2*h,1)=imag(B2(i,2)-OrgS(2*h
22、,1);end end t=0;for i=1:n if i=isb&B2(i,6)=3 h=h+1;t=t+1;DetaS(2*h-1,1)=real(B2(i,2)-OrgS(2*h-1,1);DetaS(2*h,1)=real(PVU(t,1)2+imag(PVU(t,1)2-real(B2(i,3)2-imag(B2(i,3)2;end end DetaS %创立I i=zeros(n-1,1);h=0;for i=1:n if i=isb h=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1)/conj(B2(i,3);end end I %
23、创立Jacbi Jacbi=zeros(2*n-2);h=0;k=0;for i=1:n if B2(i,6)=2 h=h+1;for j=1:n if j=isb k=k+1;if i=j Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3)+imag(I(h,1);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3)+real(I(h,1);Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I
24、(h,1);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1);else Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3);Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);end if k=(n-1) k=0;end end end end
25、end k=0;for i=1:n if B2(i,6)=3 h=h+1;for j=1:n if j=isb k=k+1;if i=j Jacbi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3)+imag(I(h,1);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3)+real(I(h,1);Jacbi(2*h,2*k-1)=2*imag(B2(i,3);Jacbi(2*h,2*k)=2*real(B2(i,3);else Jac
26、bi(2*h-1,2*k-1)=-imag(Y(i,j)*real(B2(i,3)+real(Y(i,j)*imag(B2(i,3);Jacbi(2*h-1,2*k)=real(Y(i,j)*real(B2(i,3)+imag(Y(i,j)*imag(B2(i,3);Jacbi(2*h,2*k-1)=0;Jacbi(2*h,2*k)=0;end if k=(n-1) k=0;end end end end end Jacbi DetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS;DetaU %修正节点电压 j=0;for i=1:n if B2(i,6)=2
27、j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);end end for i=1:n if B2(i,6)=3 j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);end end B2 Times=Times+1;%迭代次数加1 end disp(迭代次数为);disp(Times)for no=1:n Vn(no)=B2(no,3);str1 = sprintf(节点%d电压是%d,no);disp(str);disp(Vn(no);end3.3 成果及分析节
28、点导纳矩阵为迭代运营了3次,每次功率不平衡量表3-1所示表3-1 迭代过程中各节点功率不平衡量k0-0.5-j0.2-0.6-j0.251-0.0083-j0.0279-0.0091-j0.03602-0.0000297-j0.0000955-0.0000326-j0.000133230.0000+j0.00000.0000+j0.0000表3-2 迭代过程中各节点电压k10.9664 - j0.04230.9658 - j0.045720.9632 - j0.04230.9623 - j0.045730.9632 - j0.04230.9623 - j0.0457平衡节点功率为下面计算网络中
29、功率分布,依照所有线路功率计算如下: 同样可以得出 =-0.5646 - j0.2543 因而各支路功率损耗为S12= 4.1166e-005 +j1.2350e-004S13= 0.0105 + j0.0315S23= 0.0083 + j0.03724 小结本次课程设计学习了不少复杂潮流计算办法,涉及牛顿-拉夫逊法、P-Q分解法等等,合理运用这些办法使得复杂网络潮流分布计算有迹可循,相对而言也更为简便。特别这些办法,可以较好地通过程序来模仿,将老式算法变为计算机算法。这次课程设计规定编程计算潮流,通过多天设计,我明白了如下道理:(1) 要培养多学科关联意识,构建自己理论。电力系统分析涉及到
30、诸多其她学科知识,特别是数学,地位尤为突出。电力系统分析最核心地要把实际模型转换为实际模型,因而数学功底好,电力系统分析也就游刃有余。本次课程设计题目需要将其写成非线性方程组,而牛顿-拉夫逊法正好可以解非线性方程组,因而建模时电力系统分析与数学之间沟通桥梁。(2) 电力系统与软件相结合,可以大大节约人工工作量,电力系统是个有机整体,相对而言比较复杂,各种潮流计算对于人工而言不但仅是大量重复计算分析,更是导致出错重要因素,因而在规定比较高场合下往往都不但仅是靠人工去直接控制操作,而是借助计算机软件去控制。本次设计可以明显看出程序大大简化计算,减小了工作量。(3) 本次通过 matlab来编写程序
31、。Matlab是一款非常强大软件,涵盖了多门学科,涉及数学、电路等学科,用它来做仿真分析,可以设计比较合理稳定程序、电路等,因而掌握好软件用法显得尤为重要,但是电力系统分析软件不止这一款。(4) 编写程序是一件考研耐心与细心事情,稍有不慎,也许就会浮现意想不到成果,甚至不能浮现成果,因而这是一件非常头疼事情,经常由于一种小小bug要去重复查看整个程序,因而细心一点可以大大提高工作效率。(5) 电力系统分析是一门与电力息息有关一门课,学好它并且运用好它显得尤为重要。在此后地学习中,我还必要不断更新自己知识,坚持终身学习。5 参照文献1 何仰赞,温增银.电力系统分析.武汉:华中科技大学出版社,.2 陈珩.电力系统稳态分析(第三版).北京:中华人民共和国电力出版社,.3于永源,杨绮雯. 电力系统分析(第二版).北京:中华人民共和国电力出版社,.