武汉理工大学《电力系统分析》课程设计任务说明书-1-1.系统概述1.1设计目的及要求设计目的1.掌握电力系统潮流计算的基本原理;2.采用计算机语言对潮流计算进行计算机编程计算(MATLAB语言或C语言);3.采用计算机语言对潮流计算进行计算机编程计算。设计要求1.程序源代码;2.给定题目的输入,输出文件;3.程序说明;4.给定系统的程序计算过程;1.2设计题目用牛顿-拉夫逊法或P-Q分解法进行电力系统潮流计算(四节点四支路)1.3设计内容1.根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;2.赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;3.形成雅可比矩阵;4.求解修正量后,重新修改初值,从2开始重新循环计算;5.求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和平衡节点功率;6.上机编程调试;7.计算分析给定系统潮流分析并与手工计算结果作比较分析。8.准备答辩,打印该课程设计说明书。武汉理工大学《电力系统分析》课程设计任务说明书-2-2.实验内容2.1.理论分析:P-Q分解法是从改进和简化牛顿法潮流程序的基础上提出来的,它的基本思想是:把节点功率表示为电压向量的极坐标方程式,抓住主要矛盾,以有功功率误差作为修正电压向量角度的依据,以无功功率误差作为修正电压幅值的依据,把有功功率和无功功率迭代分开来进行。牛顿法潮流程序的核心是求解修正方程式,当节点功率方程式采取极坐标系统时,修正方程式为:VVLNJHQP/或展开为:VVLJQVVNHP//(4)以上方程式是从数学上推倒出来的,并没有考虑电力系统这个具体对象的特点。电力系统中有功功率主要与各节点电压向量的角度有关,无功功率则主要受各节点电压幅值的影响。大量运算经验也告诉我们,矩阵N及J中各元素的数值相对是很小的,因此对牛顿法的第一步简化就是把有功功率和无功功率分开来进行迭代,即将式(4)化简为:VVLQHP/(5)这样,由于我们把2n阶的线性方程组变成了二个n阶的线性方程组,因而计算量和内存方面都有改善。但是,H,L在迭代过程中仍然不断变化,而且又都是不对称矩阵。对牛顿法的第二个化简,也是比较关键的一个化简,即把式(5)中的系数矩阵简化为在迭代过程中不变的对称矩阵。众所周知,一般线路两端电压的相角差是不大的(通常不超过10~20度),因此可以认为:cos1sinijijijijGB(6)此外,与系统各节点无功功率相应的导纳LiB必定远远小于该节点自导纳的虚部,即:武汉理工大学《电力系统分析》课程设计任务说明书-3-2iLiiiiQBBV因此,2iiiiQVB(7)考虑到以上关系后,式(5)中系数矩阵中的元素表达式可以化简为:22iiiiiijijijiiiiiijijijHVBHVVBLVBLVVB(8)这样,式(5)中系数矩阵可以表示为:2111121211222212122221122nnnnnnnnnnnVBVVBVVBVVBVVBVBHLVVBVVBVB(9)进一步可以把它们表示为以下矩阵的乘积:111211122122120000nnnnnnnnBBBVVBBBHLVVBBB(10)将它代入(5)中,并利用乘法结合率,我们可以把修正方程式变为:1111111212222221221200nnnnnnnnnnVPVBBBVPBVBBVPVBBB(11)及11111121222221221200nnnnnnnnnVQVBBBVQBVBBVQVBBB(12)将以上两式的左右两侧用以下矩阵左乘武汉理工大学《电力系统分析》课程设计任务说明书-4-11200nVVV=121/1/1/00nVVV就可得到11221111121222212212nnPVnPnVPnnnnnnVVBBBBVBBVBBB(13)及112211112122212212nnQVnQnVQnnnnnVVBBBBVBBVBBB(14)以上两式就是P-Q分解法达到修正方程式,其中系数矩阵只不过是系统导纳矩阵的虚部,因而是对称矩阵,而且在迭代过程中维持不变。它们与功率误差方程式)3,2,1(sincos1niBGVVPPijijijijnjjjiisi(15))3,2,1(cossin1niBGVVQQijijijijnjjjiisi(16)构成了P-Q分解法迭代过程中基本计算公式,其迭代步骤大致是:(1)根据求得的Y矩阵形成有功迭代和无功迭代的简化雅可比矩阵```,BB。(2)给定各节点电压相角初值和各节点电压初值(0)(0),;iiV(3)根据(15)计算各节点有功功率误差iP,并求出/;iiPV(4)解修正方程式(13),并进而计算各节点电压向量角度的修正量i(5)修正各节点电压向量角度i;武汉理工大学《电力系统分析》课程设计任务说明书-5-)1()1()(kikiki(17)(6)根据式(16)计算各节点无功功率误差iQ,计算时电压相角用最新的修正值,并求出/;iiQV(7)解修正方程式(14),求出各节点电压幅值的修正量iV(8)修正各节点电压幅值iV)1()1()(kikikiVVV(18)(9)返回(2)进行迭代,直到各节点功率误差及电压误差都满足收敛条件。2.2潮流计算设计题目节点数:4支路数:4计算精度:0.00010支路1:130.02000.0800Zj支路2:140.04000.1200Zj支路3:240.05000.1400Zj支路4:340.04000.1200Zj节点1:PQ节点,(1)0.60000.2500Sj节点2:PQ节点,(2)0.80000.3500Sj节点1节点4节点1节点3节点2节点4节点3节点4武汉理工大学《电力系统分析》课程设计任务说明书-6-节点3:PV节点,(3)0.4000(3)0.9500PV节点4:平衡节点,(4)1.00000.0000U图1电路原理图要求:(1)编写计算原理(2)编写计算程序(3)调试程序并计算结果(4)结果分析武汉理工大学《电力系统分析》课程设计任务说明书-7-3.P-Q法流程图0?QK②输入原始数据形成矩阵B及B并进行三角分解设PQ节点电压初值,各节点电压相角初值置迭代计数0k计算不平衡功率()kiP,计算()()/kkiiPV1,1PQKK()max{}?kiPP解修正方程求()ki(1)()()kkkiii置1QK计算不平衡功率()kiQ,计算()()/kkiiQV否是①③置0PK武汉理工大学《电力系统分析》课程设计任务说明书-8-图2P-Q分解法潮流计算流程框图①()max{}?kiQQ否解修正方程求()kiV置1PK(1)()()kkkiiiVVV1kk③是0?PK否是②计算平衡机节点及全部线路功率输出置0QK武汉理工大学《电力系统分析》课程设计任务说明书-9-4.Matlab概述4.1matlab简介目前电子计算机已广泛应用于电力系统的分析计算,潮流计算是其基本应用软件之一。现有很多潮流计算方法。对潮流计算方法有五方面的要求:(1)计算速度快(2)内存需要少(3)计算结果有良好的可靠性和可信性(4)适应性好,亦即能处理变压器变比调整、系统元件的不同描述和与其它程序配合的能力强(5)简单。MATLAB是一种交互式、面向对象的程序设计语言,广泛应用于工业界与学术界,主要用于矩阵运算,同时在数值分析、自动控制模拟、数字信号处理、动态分析、绘图等方面也具有强大的功能。MATLAB程序设计语言结构完整,且具有优良的移植性,它的基本数据元素是不需要定义的数组。它可以高效率地解决工业计算问题,特别是关于矩阵和矢量的计算。MATLAB与C语言和FORTRAN语言相比更容易被掌握。通过M语言,可以用类似数学公式的方式来编写算法,大大降低了程序所需的难度并节省了时间,从而可把主要的精力集中在算法的构思而不是编程上。另外,MATLAB提供了一种特殊的工具:工具箱(TOOLBOXES).这些工具箱主要包括:信号处理(SIGNALPROCESSING)、控制系统(CONTROLSYSTEMS)、神经网络(NEURALNETWORKS)、模糊逻辑(FUZZYLOGIC)、小波(WAVELETS)和模拟(SIMULATION)等等。不同领域、不同层次的用户通过相应工具的学习和应用,可以方便地进行计算、分析及设计工作。MATLAB设计中,原始数据的填写格式是很关键的一个环节,它与程序使用的方便性和灵活性有着直接的关系。原始数据输入格式的设计,主要应从使用的角度出发,原则是简单明了,便于修改。常数与矩阵的运算即是同该矩阵的每一元素进行运算。但需注意进行数除时,常数通常只能做除数。基本函数运算中,矩阵的函数运算是矩阵运算中最实用的部分,常用的主要有以下几个:det(a)求矩阵a的行列式武汉理工大学《电力系统分析》课程设计任务说明书-10-eig(a)求矩阵a的特征值inv(a)或a^(-1)求矩阵a的逆矩阵rank(a)求矩阵a的秩trace(a)求矩阵a的迹(对角线元素之和)我们在进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。4.2基本数学运算数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.\”。前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。另外,矩阵的数组运算中还有幂运算(运算符为.^)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。矩阵的幂运算与数组的幂运算有很大的区别。4.3逻辑关系运算逻辑运算是MATLAB中数组运算所特有的一种运算形式,也是几乎所有的高级语言普遍适用的一种运算。武汉理工大学《电力系统分析》课程设计任务说明书-11-5.Matlab程序设计子模块设计:1.Y矩阵的求解:z(1,4)=0.040+0.12*i;z(4,1)=z(1,4);z(1,3)=0.02+0.08*i;z(3,1)=z(1,3);z(2,4)=0.05+0.14*i;z(4,2)=z(2,4);z(3,4)=0.04+0.12*i;z(4,3)=z(3,4);%数据处理%n=4;form=1:nforj=1:nifz(m,j)~=0y(m,j)=1/z(m,j);y(j,m)=y(m,j);endendend%求节点互阻抗form=1:nforj=1:nifm==jY(m,j)=sum(y(m,:));elseY(m,j)=-y(m,j);Y(j,m)=Y(m,j);endendend武汉理工大学《电力系统分析》课程设计任务说明书-12-%求矩阵YY运行显示结果:2.利用雅克比矩阵求B1、B2G=real(Y);B=imag(Y);B1=B([1,2,3],[1,2,3]);B2=B