两机五节点网络潮流计算方法牛拉法和pq法-电力系统稳态分析课程设计【完整版】.doc
两机五节点网络潮流计算方法牛拉法和pq法_电力系统稳态分析课程设计【完整版】(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载)两机五节点网络潮流计算方法牛拉法和pq法_电力系统稳态分析课程设计 电力系统稳态分析课程设计题 目 名 称 两机五节点网络潮流计算方法牛拉法和pq法 目 录摘要第一章 原理简介3 1.1对潮流分析的简介.31.2 MATLAB简介.51.3牛顿拉夫逊法计算潮流分布.6第二章 程序及结果.102.1 设计资料及参数132.2 用Matlab设计程序14.1922总结.32 参考文献.32电力系统稳态分析课程设计 1.1对潮流分析的简介 潮流分析是研究电力系统的一种最根本和最重要的计算。最初,电力系统潮流计算是通过人工手算的,后来为了适应电力系统日益开展的需要,采用了交流计算台。随着电子数字计算机的出现,1956 年 Ward等人编制了实际可行的计算机潮流计算程序。这样,就为日趋复杂的大规模电力系统提供了极其有力的计算手段。经过几十年的时间,电力系统潮流计算已经开展得十分成熟。潮流计算是研究电力系统稳态运行情况的一种计算,是根据给定的运行条件及系统接线情况确定整个电力系统各个局部的运行状态,如各母线的电压、各元件中流过的功率、系统的功率损耗等等。电力系统潮流计算是计算系统动态稳定和静态稳定的根底。在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用电力系统潮流计算来定量的比拟供电方案或运行方式的合理性、可靠性和经济性。 高斯 - 赛德尔潮流计算法原理简单,编程实现容易,特别是对于配网潮流有其独特优势。但是高斯 - 赛德尔潮流计算法在牛顿法以及各种解耦法出现以后似乎成了一种边缘性的方法。牛顿 - 拉夫逊法的优点是收敛速度快,假设初值选择较好,算法将具有平方收敛特性,一般迭代 45 次便可以收敛到一个非常精确的解,而且其迭代次数与所计算的网络规模根本无关。牛顿 - 拉夫逊法也具有良好的收敛可靠性 对于呈病态的系统,牛顿-拉夫逊法均能可靠地收敛。牛顿法的缺点是每次迭代的计算量和所需的内存量较大。这是因为雅可比阵元素的数目约为 2n- 1×2n- 1个(直角坐标),且其数值在迭代过程中不断变化。不过,内存占用量及每次迭代所需的时间与程序设计技巧密切相关。牛顿-拉夫逊法的可靠收敛取决于一个良好的启动初值,如果初值选择不当,算法有可能根本不收敛或收敛到一个无法运行的解点上。对于正常运行的系统,各节电电压一般均在额定值附近,偏移不会太大,并且各节电的相角差也不大,所以对各节电可以采用统一的电压初值。P- Q分解法是为了改良牛顿-拉夫逊法在内存占用量及计算速度方面的缺乏,P- Q分解法根据电力系统实际运行状态的物理特点,对极坐标形式的牛顿 - 拉夫逊法修正方程式进行了合理的简化。它无论在内存占用量还是计算速度方面都比牛顿-拉夫逊法有较大的改良,是目前计算速度最快的潮流算法。 1.2 Matlab 的简介 MATLAB是一种交互式、面向对象的程序设计语言,广泛应用于工业界与学术界,主要用于矩阵运算,同时在数值分析、自动控制模拟、数字信号处理、动态分析、绘图等方面也具有强大的功能。MATLAB程序设计语言结构完整,且具有优良的移植性,它的根本数据元素是不需要定义的数组。它可以高效率地解决工业计算问题,特别是关于矩阵和矢量的计算。MATLAB与C语言和FORTRAN语言相比更容易被掌握。通过M语言,可以用类似数学公式的方式来编写算法,大大降低了程序所需的难度并节省了时间,从而可把主要的精力集中在算法的构思而不是编程上。另外,MATLAB提供了一种特殊的工具:工具箱(TOOLBOXES).这些工具箱主要包括:信号处理(SIGNAL PROCESSING)、控制系统(CONTROL SYSTEMS)、神经网络(NEURAL NETWORKS)、模糊逻辑FUZZY LOGIC、小波WAVELETS和模拟(SIMULATION)等等。不同领域、不同层次的用户通过相应工具的学习和应用,可以方便地进行计算、分析及设计工作。MATLAB设计中,原始数据的填写格式是很关键的一个环节,它与程序使用的方便性和灵活性有着直接的关系。原始数据输入格式的设计,主要应从使用的角度出发,原那么是简单明了,便于修改。 常数与矩阵的运算即是同该矩阵的每一元素进行运算。但需注意进行数除时,常数通常只能做除数。 根本函数运算中,矩阵的函数运算是矩阵运算中最实用的局部,常用的主要有以下几个: deta求矩阵a的行列式 eiga求矩阵a的特征值 inva或a -1 求矩阵a的逆矩阵 ranka 求矩阵a的秩 tracea 求矩阵a的迹(对角线元素之和) 我们在进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*和“./或“.。前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系的规定,数组与常数之间的除法运算没有任何限制。另外,矩阵的数组运算中还有幂运算(运算符为 . )、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。有了“对应元素的规定,数组的运算实质上就是针对数组内部的每个元素进行的。矩阵的幂运算与数组的幂运算有很大的区别。 1.3牛顿拉夫逊法计算潮流分布 一、牛顿拉夫逊法求解过程大致可以分为以下步骤: (1)形成节点导纳矩阵 (2)将各节点电压设初值U (3)将节点初值代入相关求式,求出修正方程式的常数项向量 (4)将节点电压初值代入求式,求出雅可比矩阵元素 (5)求解修正方程,求修正向量 (6)求取节点电压的新值 (7)检查是否收敛,如不收敛,那么以各节点电压的新值作为初值自第3步 重新开始进行狭义次迭代,否那么转入下一步 (8)计算支路功率分布,PV节点无功功率和平衡节点柱入功率。 二、直角坐标系计算 1牛顿-拉夫逊法潮流计算的公式。把牛顿法用于潮流计算,采用直角坐标形式。其中电压和支路导纳可表示为: (1-1) 2PQ节点的输出有功功率和无功功率是给定的,那么第i节点的给定功率设为和(称为注入功率)。假定系统中的第1、2、m节点为PQ节点,对其中每一个节点的N-R法表达式: (1、2、m) (1-2) 3PV节点的有功功率和节点电压幅值是给定的。假定系统中的第m+1、m+2、n-1节点为PV节点,那么对其中每一PV节点可以列写方程: (1-3) (m+1、m+2、n-1) 4形成雅可比矩阵。 当ji时,对角元素为 (1-4) 当时,矩阵非对角元素为: (1-5) 三、极坐标计算 对于潮流计算中待于求出功率的节点功率方程组,在某个近似解附近用泰勒级数展开略去二阶及以上的高阶得到已矩阵表示的修正方程: 式中节点n为节点数,m为PV节点,雅阁比矩阵是(2n-2m-2)阶非奇异矩阵,雅可比矩阵各元素表示如下: 牛顿拉夫逊极坐标潮流计算的修正方程的迭代方程为: 2.1设计资料及参数:课程名称电力系统稳态分析课程设计设计题目两机五节点网络潮流计算?牛拉法指导教师刘景霞时间1周一、教学要求 电力系统稳态分析课程设计以设计和优化电力系统的潮流分析为重点,提高学生综合能力为目标,尽可能结合实际工程进行。设计内容的安排要充分考虑学校现有的设备,设计时间及工程实际需要,并使学生初步学会运用所学知识解决工程中的实际问题。二、设计资料及参数(一)设计原始资料 1、待设计电气设备系统图 2、电力系统网络各元件参数 3、电力系统电气元件的使用标准 4、电力工程电气设计手册(二)设计参考资料 1、?电力系统稳态分析?,陈珩,中国电力出版社,2007,第三版 2、?电力系统分析?,韩祯祥,浙江大学出版社,2005,第三版 3、?电力系统分析课程实际设计与综合实验?,祝书萍,中国电力出版社,2007,第一版三、设计要求及成果 1.根据给定的参数或工程具体要求,收集和查阅资料;学习相关软件(软件自选)。 2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 根本要求: 1.编写潮流计算程序; 2.在计算机上调试通过(?); 3.运行程序并计算出正确结果(?); 4.写出课程设计报告(包括以下内容)(1份) (1)程序框图;(2)源程序;(3)符号说明表;(4)算例及计算结果 5.编写计算说明书(1份)。四、进度安排 根据给定的参数或工程具体要求,收集和查阅资料(半天) 学习软件(MATLAB或C语言等)(一天半) 编程计算复杂系统潮流计算(三天) 编写计算设计书(一天)五、评分标准 课程设计成绩评定依据包括以下几点:工作态度(占10%);根本技能的掌握程度(占20%);程序编写是否合理是否有运行结果40%;课程设计说明书编写水平占30%。分为优、良、中、合格、不合格五个等级。 系统接线图 其中节点1为平衡节点,节点2、3、4、5为PQ节点。%说明:为了使节点按照先PQ,再PV节点,最后平衡节点的次序编号,以便与公式对照,节点1与节点5对调。%节点阻抗矩阵Z0,0.04+0.12i,0,0.08+0.24i,0;0.04+0.12i,0,0.06+0.18i,0.06+0.18i,0.02+0.06i;0,0.06+0.18i,0,0.01+0.03i,0.08+0.24i;0.08+0.24i,0.06+0.18i,0.01+0.03i,0,0;0,0.02+0.06i,0.08+0.24i,0,0;%求互导纳for m1:5 for n1:5if Zm,n0 ym,n0;else ym,n1/Zm,n;end endend%求导纳for m1:5 for n1:5if mn Ym,n-ym,n;else Ym,nsumym,:; end end end%导纳矩阵GrealY;BimagY;%计算各节点功率的不平衡量设UE+jF ;YG+Bj;YU1,1,1,1,1.06; ErealU; FimagU; %设SP+Qj; S-0.60-0.10i;0.20+0.20i;-0.45-0.15i;-0.40-0.05i;0 PrealS;QimagS; k0;C1;while C 0.00001E51.06;F50;for m1:4 for n1:5%计算Pi,Qi,设PiPt;QiQt,按照书上的公式:PtnEm*Gm,n*En-Bm,n*Fn+Fm*Gm,n*Fn+Bm,n*En;QtnFm*Gm,n*En-Bm,n*Fn-Em*Gm,n*Fn+Bm,n*En;end%设P,Q的改变量为dP,dQdPmPm-sumPt;dQmQm-sumQt;end%计算Hii,Nii,Jii,Lii,由公式4-41b 左侧公式实现,sumAi,sumBi用于实现公式中的sigerma从j到n的求和;for m1:4 for n1:5BinGm,n*Fn+Bm,n*En; AinGm,n*En-Bm,n*Fn; end Hm,msumBi-Bm,m*Em+Gm,m*Fm+2*Gm,m*Fm; Nm,msumAi-Gm,m*Em-Bm,m*Fm+2*Gm,m*Em; Jm,m-2*Bm,m*Fm+sumAi-Gm,m*Em-Bm,m*Fm; Lm,m-2*Bm,m*Em-sumBi-Bm,m*Em+Gm,m*Fm;end%设雅可比矩阵为JJ,以下语句用来实现雅可比矩阵中对角线上元素H N J L 的排列for m1:4JJ2*m-1,2*m-1Hm,m;JJ2*m-1,2*mNm,m;JJ2*m,2*m-1Jm,m;JJ2*m,2*mLm,m;end%以下语句用于实现雅可比矩阵非对角线上元素的排列for m1:4 for n1:4if mn else Hm,n-Bm,n*Em+Gm,n*Fm;Nm,nGm,n*Em+Bm,n*Fm;Jm,n-Bm,n*Fm-Gm,n*Em;Lm,nGm,n*Fm-Bm,n*Em;JJ2*m-1,2*n-1Hm,n;JJ2*m-1,2*nNm,n;JJ2*m,2*n-1Jm,n;JJ2*m,2*nLm,n; end endendJJ%设由P,Q的改变量组成的8×1矩阵为PQ,由E,F的改变量组成的8×1矩阵为dUfor m1:4 PQ2*m-1dPm; PQ2*mdQm;enddUinvJJ*PQ'%求逆矩阵CabsdU;%abs绝对值或复数绝对值for n1:4 FnFn+dU2*n-1; EnEn+dU2*n;end for n1:5 UnEn+Fn*i; endkk+1;k, dUdU',PQ,Uend%计算S5,也就是题目中的S1,即平衡节点功率for m1:5 ImY5,m*Um; endS5U5*sumconjIY 3.7500 -11.2500i -2.5000 + 7.5000i 0-1.2500 + 3.7500i 0 -2.5000 + 7.5000i 10.8333 -32.5000i -1.6667 + 5.0000i -1.6667 + 5.0000i -5.0000 +15.0000i0-1.6667 + 5.0000i 12.9167 -38.7500i -10.0000 +30.0000i -1.2500 + 3.7500i-1.2500 + 3.7500i -1.6667 + 5.0000i -10.0000 +30.0000i 12.9167 -38.7500i 0 0-5.0000 +15.0000i -1.2500 + 3.7500i 0 6.2500 -18.7500iS -0.6000 - 0.1000i 0.2000 + 0.2000i-0.4500 - 0.1500i-0.4000 - 0.0500i0 k 1dU -0.1076 0.0093-0.0473 0.0430-0.0863 0.0154-0.0922 0.0141k 2k 3k 4S -0.6000 - 0.1000i 0.2000 + 0.2000i-0.4500 - 0.1500i-0.4000 - 0.0500i 1.2982 + 0.2445i基于MATLAB 的PQ 分解法潮流计算程序MATLAB 已广泛应用于自动控制、数学运算、信号分析、计算机技术、图像信号处理、财务分析、航天工业和生物医学工程等领域。由于MATLAB语言功能强大、人际界面友好、编程效率高、强大而智能化的作图功能,且具有编程语句简洁、灵活、表达和运算能力强等显著特点。程序清单%本程序的功能是用PQ分解法进行潮流计算ninput请输入节点数:n;nlinput请输入支路数:nl;isbinput请输入平衡母线节点号:isb;prinput请输入误差精度:pr;B1input请输入由支路参数形成的矩阵:B1;B2input请输入由节点参数形成的矩阵:B2;Xinput请输入由节点号及其对地阻抗形成的矩阵:X;nainput请输入PQ节点号:na;Yzerosn;YI zerosn;e zeros1,n;f zeros1,n;V zeros1,n;O zeros1,n;for i1:nif Xi,20;pxi,1;Yp,p1./Xi,2;endendfor i1:nlif B1i,6 0pB1i,1;qB1i,2;else p B1i,2;qB1i,1;endYp,qYp,q-1./B1i,3*B1i,5;YIp,q YIp,q -1./B1i,3;Yq,p Yp,q;YIq,p YIp,q;Yq,q Yq,q+1./B1i,3* B1i,52+B1i,4./2;YIq,q YIq,q +1./B1i,3;Yp,p Yp,p +1./B1i,3+ B1i,4./2;YIp,p YIp,p +1./B1i,3;end %求导纳矩阵GrealY;BimagYI;BIimagY;for i1:n SiB2i,1-B2i,2; BIi,i BIi,i+ B2i,5;endPrealS;QimagS;for i1:neirealB2i,3;fiimagB2i,3;ViB2i,4;endfor i1:nif B2i,6 2 Visqrtei2+fi2; Oiatanfi./ei;endendfor i2:nif i nBi,i1./Bi,i;else IC1i+1;for j1IC1:nBi,j1 Bi,j1./Bi,i;endBi,i1./Bi,i;for ki+1:nfor j1i+1:n Bk,j1Bk,j1-Bk,i*Bi,j1;endendendendp0;q0;for i1:nif B2i,6 2pp+1;k0;for j11:n if B2i1,6 2 kk+1; Ap,kBIi,j1; endendendendfor i1:naif i na Ai,i1./Ai,i;else ki+1; for j1k:naAi,j1 Ai,j1./Ai,i; end Ai,i1. /Ai,i; for ki+1:nafor j1i+1:na Ak,j1 Ak,j1-Ak,i*Ai,j1;endendendendICT21;ICT10;kp1,kq1;K1;DET0;ICT31;while ICT20|ICT30ICT20;ICT30;for i1:nif iisbCi0;for k1:n CiCi+Vk*Gi,k*cosOi-Ok+BIi,k*sinOi-Ok;endDP1iPi-Vi*Ci;DPiDP1i./Vi;DETabsDP1i;if DETprICT2ICT2+1;endendendNpKICT2; if ICT20 for i2:nDPiBi,i*DPi;if i nIC1i+1; for kic1:n DPkDPk-Bk,i*DPi; end else for LZ3:i Li+3-LZ; IC4L-1;for MZ2:IC4 IIC4+2-MZ; DPIDPI-BI,L*DPL;end endendendfor i2:nOiOi-DPi;endkq1;L0;for i1:nif B2i,6 2Ci0;LL+1;for k1:nCi Ci +Vk*Gi,k*sinOi-Ok+BIi,k*cosOi-Ok;endDQ1iQi-Vi*Ci;DQLDQ1i./Vi;DETabsDQ1i;if DETprICT3ICT3+1;endendendendelse kp0;if kq0;L0;for i1:nif B2i,6 2 Ci0;LL+1; for k1:n Ci Ci +Vk*Gi,k*sinOi-Ok-BIi,k*cosOi-Ok; end DQ1iQi-Vi*Ci; DQL DQ1i./Vi; DETabsDQ1i;endendendendNqKICT3;if ICT30L0;for i1:naDQiAi,i*DQi;if i nafor LZ2:iLi+2-LZ; IC4L-1; for MZ1:IC4 IIC4+1-MZ; DQIDQI-AI,L*DQL; endendelseIC1i+1;for kIC1:na DQkDQk-Ak,i*DQi;endendendL0;for i1:nif B2i,6 2LL+1;ViVi-DQL;endendkp1;KK+1;elsekq0;if kp0KK+1;endendfor i1:nDyK-1,iVi;endenddisp迭代次数;disp(K);disp(每次没有到达精度要求的有功功率个数为);disp(NP);disp(每次没有到达精度要求的无功功率个数为);disp(Nq);for k1:nEkVk*cosOK+Vk*sinOk*j;OkOk*180./pi;enddisp各节点的电压标么值E为(节点号从小到大排):;dispE;disp各节点的电压U大小(节点号从小到大排):为;dispU;disp各节点的电压相角O(节点号从小到大排):为;dispO;for p1:nCp0;for q1:nCp Cp+conjYp,q*conjEq;endSpEp*Cp;enddisp各节点的功率S(节点号从小到大排):为;disp(S);disp各条支路的首端功率Si为(顺序同您输入B1时的一样):)为;for i1:nlif B1i,6 0pB1i,1;qB1i,2;else pB1i,2;qB1i,1;endSip,qEp*conjEp*conjB1i,4./2+conjEp*B1i,5-conjEq*conj1./B1i,3*B1i,5;dispSip,q;enddisp各条支路的末端功率Sj(顺序同您输入B1时的一样):)为;for i1:nlif B1i,6 0pB1i,1;qB1i,2;else pB1i,2;qB1i,1;endSjq,pEq*conjEq*conjB1i,4./2+conjEq*B1i,5-conjEp*conj1./B1i,3*B1i,5;dispSjq,p;enddisp各条支路的功率损耗DS(顺序同您输入B1时的一样):)为;for i1:nlif B1i,6 0pB1i,1;qB1i,2;else pB1i,2;qB1i,1;endDSiSip,q+Sjq,p;dispDSi;endfor i1:KCsii;for j1:nDyK,jDyK-1,j;endenddisp以下是每次迭代后各节点的电压值(如下图);plotCs,Dy,xlable迭代次数,ylable电压,title电压迭代次数曲线;设计验证现以一个例子来说明该软件得使用方法:电力系统接线,如4.1所示,试求潮流分布(1)n为节点数、nl为支路数、isb为平衡母线节点号(固定为 1)、pr为误差精度。(2)输入由支路参数形成的矩阵 B1矩阵 B1的每行是由以下参数构成的: 某支路的首端号 P; 末端号 Q,且 P Q; 支路的阻抗(R +jX); 支路的对地容抗; 支路的变比 K; 折算到哪一侧的标志(如果支路的首端 P 处于高压侧那么请输入“1,否那么请输入“0)。Figure 4.1 schematic(3)请输入各节点参数形成的矩阵 B2矩阵 B2的每行是由以下参数构成的: 节点所接发电机的功率 SG; 节点负荷的功率 SL; 节点电压的初始值; PU 节点电压 U 的给定值; 节点所接的无功补偿设备的容量; 节点分类标号 igl。输入数据:请输入节点数:n5请输入支路数:nl5请输入平衡母线节点号:isb1请输入误差精度:pr0.00001请输入由支路参数形成的矩阵:B11 2 0.03i 0 1.050;2 3 0.08+0.3i 0.5i 1 0;2 4 0.1+0.35i 0 1 0;3 4 0.04+0.25i 0.5i 1 0;3 5 0.015i 0 1.05 1请输入由节点参数形成的矩阵:B20 0 1.05 1.05 0 1;0 3.7+1.3i 1.05 0 0 2;0 2+1i 1.05 0 0 2;0 1.6+0.8i 1.05 0 0 2;5 0 1.05 1.05 0 3请输入由节点号及其对地阻抗形成的矩阵:X1 0;2 0;3 0;4 0;5 0请输入PQ节点数na3输入框图在输入需要的数据后,点击运算,出现结果如下:结果:迭代次数10每次没有到达精度要求的有功功率个数为4 4 4 4 4 4 4 430每次没有到达精度要求的无功功率个数为3 3 3 3 3 3 3 310各节点的电压标么值E(节点号从小到大排)为:0.9746+0.3907i各节点的电压U大小(节点号从小到大排)为:各节点的电压相角O(节点号从小到大排)为:各节点的功率S(节点号从小到大排)为:各条支路的首端功率Si(顺序同您输入B1时的一样)为: 2.5794+2.2994i-1.2774+0.2032i 0.1568+0.4713i 1.5845+0.6725i 5.0000+1.8131i各条支路的功率损耗DS(顺序同您输入B1时的一样)为: 0.0000+0.3249i 0.1381-0.0412i 0.0230+0.0804i 0.1184+0.2635i-0.0000+0.3849iFigure 4.3 Simulation diagram经过手动计算,得1至5号节点功率分别为:2.5794+2.2994i5.0000+1.8131i举例验算结论:通过手动运算,发现运算结果与手动结果运算结果一样,故软件计算正确。总结 通过学习潮流计算原理参阅一些参考资料及文献,对传统潮流死算有所理解,对一些新的潮流计算技术有了整体的认识。 潮流计算是电力系统的一项根本计算,它根据给定的运行条件及系统接线情况确定系统的运行状态、母线的电压,各元件中流过的功率,系统的功率损耗等,进而比拟运行方式的合理性、可靠性和经济性。 本文分析和比拟了电力系统潮流计算的各种方法,其中PQ分解法具有计算速度快、所占内存少等优势被广泛采用。本设计首先进行了PQ分解法的理论研究,然后应用 MATLAB软件编制PQ分解法潮流程序,并通过一个电力系统实例对所编程序进行验证,得出结论。参考文献及资料:1、?电力系统稳态分析?,陈珩,中国电力出版社,2007,第三版2、?电力系统分析?,韩祯祥,浙江大学出版社,2005,第三版3、?电力系统分析?,苏小林 阎晓霞 ,中国电力出版社4、?电力系统分析课程实际设计与综合实验?,祝书萍,中国电力出版社,2007,第一版5、清华大学等校合编.电子数字计算机的应用?电力系统计算M.北京:水利电力出版社,19786、朱仁峰.精通Matlab7M.北京:清华大学出版社,20067、?火车发电厂、变电所二次接线技术规定(强电局部)?SDGJ788、?MALAB 6.0 科学运算完整解决法案?,精锐创组编,人民邮电大学出版社9、?MALAB 7.0 应用集锦?,林雪松 周婧 林德新10、朱仁峰.精通Matlab7M.北京:清华大学出版社,2006