c语言编写的牛顿拉夫逊法解潮流程序
csdn电力系统牛顿拉夫逊法潮流计算matlab
电力系统牛顿拉夫逊法潮流计算在实际应用中具有重要意义。
本文将结合CSND评台上的相关资料,从理论和实践两个角度对该方法进行介绍和分析。
文章首先解释了牛顿拉夫逊法的原理和基本概念,其次介绍了潮流计算在电力系统中的作用和意义。
文章分析了目前牛顿拉夫逊法在潮流计算中的应用情况,并详细探讨了该方法在MATLAB软件中的实现过程。
本文总结了牛顿拉夫逊法在电力系统潮流计算中的优缺点,并对未来的发展趋势进行了展望。
一、牛顿拉夫逊法原理和基本概念1.1 牛顿拉夫逊法的基本原理牛顿拉夫逊法(Newton-Raphson method)是一种用于解决非线性方程组的数值方法。
其基本思想是通过不断迭代,逐步逼近方程组的解。
具体而言,牛顿拉夫逊法首先利用当前点的切线来估计方程组的根,然后通过迭代计算逐步逼近真实的解。
该方法在数学和工程领域中得到了广泛的应用,尤其在电力系统潮流计算中发挥着重要作用。
1.2 牛顿拉夫逊法的基本步骤牛顿拉夫逊法的基本步骤可以总结为以下几点:(1)选择初始点:首先需要选择一个合适的初始点作为迭代的起始点;(2)计算雅可比矩阵:根据当前点的数值,计算出雅可比矩阵,该矩阵用于估计方程组的根;(3)更新迭代点:利用雅可比矩阵和当前点的值,计算出新的迭代点;(4)判断收敛性:判断新的迭代点是否满足收敛条件,如果满足则停止迭代,否则返回第(2)步继续计算。
以上就是牛顿拉夫逊法的基本步骤,通过不断迭代,最终可以得到方程组的解。
二、潮流计算在电力系统中的作用和意义2.1 潮流计算的概念潮流计算是电力系统中一种重要的分析方法,其主要目的是确定系统中各个节点的电压幅值和相角。
通过潮流计算可以得知系统中各元件的功率、电压、电流等信息,为系统的安全稳定运行提供重要数据支撑。
2.2 潮流计算的意义潮流计算在电力系统中具有重要的意义,主要体现在以下几个方面:(1)系统规划:在电力系统的规划设计阶段,潮流计算可以帮助工程师确定系统中各个节点的电压和功率分布,为系统的合理规划提供依据。
C语言进行潮流计算
电力系统课程设计C语言潮流计算学院:电气工程班级:电092班学号:0912002020学生姓名:闵凯2013.3.7电力系统的潮流计算是对电力系统分析的最基本步骤也是最重要的步骤,是指在一定的系统结构和运行条件下,确定系统运行状态的计算,也即是对各母线(节点)电压,各元件(支路)传输电线或功率的计算。
通过计算出的节点电压和功率分布用以检查系统各元件是否过负荷,各点电压是否合理,以及功率损耗等。
即使对于一个简单的电力系统,潮流计算也不是一件简单就可以完成的事,其运算量很大,因此如果对于一个大的、复杂的电网来说的话,由于其节点多,分支杂,其计算量可想而知,人工对其计算也更是难上加难了。
特别是在现实生活中,遇到一个电力系统不会像我们期望的那样可以知道它的首端电压和首端功率或者是末端电压和末端功率,而是只知道它的首端电压和末端功率,更是使计算变的头疼万分。
为了使计算变的简单,我们就可以利用计算机,用C 语言编程来实现牛顿-拉夫逊(Newton-Raphson )迭代法,最终实现对电力系统潮流的计算。
一.用牛顿-拉夫逊迭代法进行电力系统潮流计算的相关概念1.节点导纳矩阵如图所示的电力网络,将节点i 和j 的电压用∙U i 和∙.U j 表示,它们之间的支路导纳表示为y ij ,那么有基尔霍夫电流定律可知注入接点I 的电流∙.I i (设流入节点的电流为正)等于离开节点I 的电流之和,因此有)(.00∙∙≠=≠=∙∙-==∑∑j i nij ijnij ij i U U I I y (1-1)∴ ∙≠=≠=∙∙∑∑-=U y y U I nij ij nij ij i 00 (1-2)如令ii nij ijY y=∑≠=0ij ij Y y =-则可将(1-2)改写为:∑≠=∙∙=nij ij iji U YI 1 I=1,2,…,n. (1-3)上式也可以写为: I =YU (1-4)其中Y 为节点导纳矩阵,也称为稀疏的对称矩阵,它是n×n 阶方阵。
牛顿拉夫逊法计算潮流步骤
牛顿拉夫逊法计算潮流步骤牛顿拉夫逊法(Newton-Raphson Method)是一种常用于计算潮流的数值求解方法。
它是基于潮流计算的功率流方程的非线性特性而设计的,通过迭代求解来逼近潮流计算的稳态解。
下面将介绍牛顿拉夫逊法计算潮流的基本步骤。
首先,我们需要明确潮流计算的目标,即确定电力系统中各节点的电压相角和幅值。
这些节点是电力系统中的发电机、负荷和交流输电线路的连接点。
通过潮流计算,我们可以得到各节点的电压相角和幅值,从而分析系统的功率分布、电压稳定性等运行特性。
接下来,我们需要建立电力系统的潮流计算模型。
这个模型中,我们需要考虑发电机的注入功率、负荷的吸收功率、线路的传输损耗等因素。
通过利用功率流方程,我们可以将这些因素表示为电压、功率和导纳之间的方程。
然后,我们需要进行初始化操作。
在进行牛顿拉夫逊法迭代计算之前,我们需要对电力系统的各节点进行初始电压值的设定。
这些初始值可以根据经验或者历史数据来得到,但需要满足物理约束条件,如一致性、电压幅值在合理范围内等。
接下来,我们进入迭代计算的过程。
首先,我们需要对系统的节点进行编号,然后选择某一节点作为基准节点,其他节点相对于基准节点的电压相角进行计算。
然后,我们根据节点注入功率和导纳矩阵的关系,得到节点注入电流。
接着,我们根据节点注入电流和电压相角的关系,计算各节点的电压相角和幅值的改变量。
在计算改变量后,我们需要对节点电压进行更新。
更新后,我们判断系统是否达到收敛条件。
如果满足收敛条件,则停止迭代,得到最终的潮流计算结果;如果不满足收敛条件,则继续进行下一轮迭代计算。
最后,我们对潮流计算结果进行分析和验证。
通过比较计算得到的结果和实际运行数据进行对比,我们可以评估潮流计算的准确性。
同时,我们还可以通过故障分析、电压稳定性评估等手段对电力系统进行优化和改进。
总而言之,牛顿拉夫逊法是一种常用的求解潮流计算问题的方法。
它通过迭代求解潮流计算的功率流方程,逼近潮流计算的稳态解。
潮流计算程序
潮流程序说明书1.程序原始数据输入格式如下:B1是支路参数矩阵,第一列和第二列为节点编号,按照从小到大编写;第三列为支路串联阻抗参数;第四列为对地导纳参数;第五列为变压器变比;第六列为是否含有变压器,“1”为含有变压器,“2”为不含变压器。
B2是节点参数矩阵,第一列为节点注入发电功率参数;第二列为负荷功率参数;第三列为节点电压参数;其中“1”为平衡节点,“2”为PQ节点,“3”为PV节点。
X是节点号和对地参数矩阵,第一列为节点号;第二列为对地情况,“0”表示没有对地。
2.基本原理: 采用牛顿-—拉夫逊潮流算法(直角坐标系)主要变量定义:B1—支路参数矩阵;B2—节点参数矩阵;X—节点号和对地参数;S—节点功率数值,序号为奇数的储存有功功率,偶数的储存无功功率;DS—序号为奇数的储存有功功率不平衡量,对PQ节点,序号为偶数的储存无功功率不平衡量,对PV节点,序号为偶数的储存电压不平衡量;I—节点电流数值;DetaU—节点电压修正值;Number—迭代次数;dS—线路上损耗的功率;3.程序流程框图如下:启动输入原始数据形成节点导纳矩阵Y设置节点电压初始值B2(i,3)设置迭代次数Number=1根据给定初始值计算功率数值PV 节点计算有功功率功率不平衡量DS 和电压不平衡量DetaUPQ 节点计算有功功率和无功功率不平衡量DSJacobi 矩阵是否全部形成,i>n计算Jacobi 矩阵的对角元素与非对角元素增大节点号i=i+1置节点号i=1解修正方程求出功率增量和各节点电压增量求出电压增量最大值max(DetaU)迭代是否收敛,最大值是否小于ac求出各节点功率S、各条支路首末端功率Si 、Sj,节点电压U 、节点电流I停止增大迭代次数Number=Number+1计算各节点电压值是否是否4.计算结果如下(完整计算结果见文本文档)其中:3节点运行结果如下:请输入节点数:n=3请输入支路数:n1=3请输入平衡节点号:bl=3请输入误差精度:ac=0.000001请输入支路参数:B1=[1 2 0.15i 0 1 1;2 3 0.93i 0 1 0;2 3 0.5i 0 1 0]请输入节点参数:B2=[0.9 0 1 0 0 3;0 0 1 0 0 2;0 0 0.9001 1.05 0 1]节点号和对地参数:X=[1 0;2 0;3 0]Y =0 + 6.6667i0 - 6.6667i0 + 3.0753i0 + 6.6667i0 - 9.7419i0 - 3.0753i0 0 + 3.0753iU =0.96941.00000.9001各节点的功率S为(按节点号排列):0 - 0.1976i0 + 0.5110i0 - 0.2765i各条支路的首端功率Si为(同B1顺序一样):0 + 0.2038i0 + 0.1074i0 + 0.1998i各条支路的末端功率Sj为(同B1顺序一样):0 - 0.1976i0 - 0.0967i0 - 0.1798i各条支路的功率损耗dS为(同B1顺序一样):0 + 0.0062i0 + 0.0200i0 + 0.0200i9节点运行结果如下:请输入节点数:n=9请输入支路数:n1=9请输入平衡节点号:bl=1请输入误差精度:ac=0.001请输入支路参数:B1=[1 4 0+0.0576i 0 1 1;2 7 0+0.0625i 0 1 1;3 9 0+0.0586i 0 1 1;4 5 0.01+0.085i 0.176i 1 0;4 6 0.017+0.092i 0.158i 1 0;5 7 0.032+0.161i 0.306i 1 0;6 9 0.039+0.17i 0.358i 1 0;7 0.0085+0.072i 0.149i 1 0;8 9 0.0119+0.1008i 0.209i 1 0]请输入节点参数:B2=[0 0 1.04 1.05 0 1;1.63+0i 0 1.025 1.05 0 3;0.85+0i 0 1.025 1.05 0 3;0 0 1 0 0 2;0 -1.25-0.50i 1 0 0 2;0 -0.90-0.30i 1 0 0 2;0 0 1 0 0 2;0 -1-0.35i 1 0 0 2;0 0 1 0 0 2]节点号和对地参数:X=[1 0;2 0;3 0;4 0;5 0;6 0;7 0;8 0;9 0]Y =Columns 1 through 50 -17.3611i 0 0 0 +17.3611i0 0 -16.0000i 0 0 00 0 0 -17.0648i 0 00 +17.3611i 0 0 3.3074 -39.3089i-1.3652 +11.6041i0 0 0 -1.3652 +11.6041i2.5528 -17.3382i0 0 0 -1.9422 +10.5107i0 0 +16.0000i 0 0-1.1876 + 5.9751i0 0 0 0 00 0 0 +17.0648i 0 0Columns 6 through 90 0 0 00 0 +16.0000i 0 00 0 0 0 +17.0648i0 0 0-1.9422 +10.5107i0 00 -1.1876 + 5.9751i0 0 -1.2820 + 5.5882i3.2242 -15.8409i-1.6171 +13.6980i0 2.8047 -35.4456i-1.1551 + 9.7843i2.7722 -23.3032i0 -1.6171 +13.6980i-1.2820 + 5.5882i 0 -1.1551 + 9.7843i 2.4371 -32.1539i -0.0168 -0.1328iU =1.04003.2481 - 0.9555i3.2076 - 0.8593i3.2428 - 0.5596i3.2235 - 0.7453i1.8842 - 0.3587i2.3853 - 0.6321i2.4410 - 0.8344i各节点的功率S为(按节点号排列):1.0e+002 *0.1010 - 0.3977i-0.0361 + 0.4978i-0.0571 + 0.0252i0.0687 + 1.7360i-0.0214 + 0.1542i-0.0808 - 0.4329i0.0531 - 0.5394i-0.1579 - 0.1256i0.2074 + 0.4176i-0.00180.0071-0.00710.00410.0044各条支路的首端功率Si为(同B1顺序一样): -1.0105e+001 +1.2945e+002i3.6128 -36.2000i5.7087 - 2.3123i7.0539 - 2.2715i9.9160 +46.4206i4.8627 +14.6652i-1.8285 -15.5465i5.7060 - 4.7477i-10.1578 -16.9569i各条支路的末端功率Sj为(同B1顺序一样): 10.1046 -39.7723i-3.6128 +49.7840i-5.7087 + 2.5192i-7.0064 + 0.7595i-6.2529 -27.7428i-4.0131 -12.9970i4.2137 +23.3616i-5.6348 + 4.4012i10.8152 +20.7070i各条支路的功率损耗dS为(同B1顺序一样): -0.0000 +89.6771i0 +13.5840i0 + 0.2069i3.6631 +18.6778i0.8496 + 1.6681i2.3852 + 7.8152i0.0712 - 0.3465i0.6574 + 3.7501i39节点运行结果如下:请输入节点数:n=39请输入支路数:n1=46请输入平衡节点号:bl=31请输入误差精度:ac=0.1请输入支路参数:B1=[1 2 0.00350+0.04110i 0.6987i 1 0;1 39 0.00100+0.02500i 0.7500i 1 0;2 3 0.00130+0.01510i 0.2572i 1 0;2 25 0.00700+0.00860i 0.1460i 1 0;30 2 0.00000+0.01810i 0.00 102.5 1;3 4 0.00130+0.02130i 0.2214i 1 0;3 18 0.00110+0.01330i 0.2138i 1 0;4 5 0.00080+0.01280i 0.1342i 1 0;4 14 0.00080+0.01290i 0.1382i 1 0;5 6 0.00020+0.00260i -0.02170 1 0;5 8 0.00080+0.01120i 0.1476i 1 0;6 7 0.00060+0.00920i 0.1130i 1 0;6 11 0.00070+0.00820i 0.1389i 1 0;31 6 0.00000+0.02500i 0.00 107.000 1;7 8 0.00040+0.00460i 0.0780i 1 0;8 9 0.00230+0.03630i 0.3804i 1 0;9 39 0.00100+0.02500i 1.2000i 1 0;10 11 0.00040+0.00430i 0.0729i 1 0;10 13 0.00040+0.00430i 0.0729i 1 0;32 10 0.00000+0.02000i 0.00 107.000 1;11 12 0.00160+0.04350i 0.00 100.600 1;13 12 0.00160+0.04350i 0.00 100.600 1;13 14 0.00090+0.01010i 0.1723i 1 0;14 15 0.00180+0.02170i 0.3660i 1 0;15 16 0.00090+0.00940i 0.3420i 1 0;16 17 0.00070+0.00890i 0.1342i 1 0;16 19 0.00160+0.01950i 0.3040i 1 0;16 21 0.00080+0.01350i -0.12740 1 0;16 24 0.00030+0.00590i 0.0680i 1 0;17 18 0.00070+0.00820i 0.1319i 1 0;17 27 0.00130+0.01730i 0.3216i 1 0;20 19 0.00070+0.01380i 0.00 106.000 1;33 19 0.00070+0.01420i 0.00 107.000 1;34 20 0.00090+0.01800i 0.00 100.900 1;21 22 0.00080+0.01400i 0.2565i 1 0;22 23 0.00060+0.00960i 0.1846i 1 0;35 22 0.00000+0.01430i 0.00 102.500 1;23 24 0.00220+0.03500i 0.3610i 1 0;36 23 0.00050+0.02720i 0.00 100.000 1;25 26 0.00320+0.03230i 0.5130i 1 0;37 25 0.00060+0.02320i 0.00 102.500 1;26 27 0.00140+0.01470i 0.2396i 1 0;26 28 0.00430+0.04740i 0.7802i 1 0;26 29 0.00570+0.06250i 1.0290i 1 0;28 29 0.00140+0.01510i 0.2490i 1 0;38 29 0.00080+0.01560 0.00 102.500 1;] 请输入节点参数:B2=[0 0 1 0 0 2;0 0 1 0 0 2;1 0 0 2;0 -3.22-0.024i1 0 0 2;0 -5.00-1.84i0 0 1 0 0 2;0 0 1 0 0 2;1 0 0 2;0 -2.338-0.84i1 0 0 2;0 -5.22-1.76i0 0 1 0 0 2;0 0 1 0 0 2;0 0 1 0 0 2;1 0 0 2;0 -0.085-0.88i0 0 1 0 0 2;0 0 1 0 0 2;1 0 0 2;0 -3.20-1.53i1 0 0 2;0 -3.29-0.323i0 0 1 0 0 2;0 -1.58-0.30i1 0 0 2;0 0 1 0 0 2;1 0 0 2;0 -6.80-1.03i1 0 0 2;0 -2.74-1.15i0 0 1 0 0 2;1 0 0 2;0 -2.475-0.846i0 -3.086+0.922i 1 0 0 2;1 0 0 2;0 -2.24-0.472i1 0 0 2;0 -1.39-0.17i1 0 0 2;0 -2.81-0.755i1 0 0 2;0 -2.06-0.276i0 -2.835-1.269i1 0 0 2;2.50+1.3621i 0 1.04750 0 0 3;0 0 1.050 1.05 0 1;6.50+1.7590i 0 0.98310 1.05 0 3;6.32+1.0335i 0 0.99720 1.05 0 3;5.08+1.6440i 0 1.01230 1.05 0 3;6.50+2.0484i 0 1.04930 1.05 0 3;5.60+0.9688i 0 1.06350 1.05 0 3;5.40-0.0444i 0 1.02780 1.05 0 3;8.30+0.1939i 0 1.02650 1.05 0 3;1.03 1.05 0 3]10.0+0.68460i -11.04-2.50i节点号和对地参数:X=[1 0;2 0;3 0;4 0;5 0;6 0;7 0;8 0;9 0;10 0;11 0;12 0;13 0;14 0;15 0;16 0;17 0;18 0;19 0;20 0;21 0;22 0;23 0;24 0;25 0;26 0;27 0;28 0;29 0;30 0;31 0;32 0;33 0;34 0;35 0;36 0;37 0;38 0;39 0]Y =1.0e+002 *Columns 1 through 50.0365 - 0.6337i -0.0206 + 0.2416i 0 0 00 0-0.0206 + 0.2416i-0.0566 + 0.6574i0.6465 - 1.5929i-0.0285 + 0.4677i0.1469 - 1.8684i0 -0.0566 + 0.6574i-0.04860 0 -0.0285 + 0.4677i0.1251 - 2.0157i+ 0.7782i0 0 0 -0.0486 + 0.7782i0.4061 - 5.4887i0 0 0 0-0.2941 + 3.8235i0 0 0 0 00 0 0 0-0.0635 + 0.8883i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 -0.0479 + 0.7722i0 0 0 0 00 0 0 0 00 0 -0.0618 + 0.7468i 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 -0.5693 + 0.6994i 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 + 0.0054i 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.0160 + 0.3994i 0 0 0 0Columns 6 through 100 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.2941 + 3.8235i 0 -0.0635 + 0.8883i 0 00.4679 - 6.1153i -0.0706 + 1.0824i 0 0 00 0-0.0706 + 1.0824i-0.1876 + 2.1576i0.2582 - 3.2390i-0.0174 + 0.2744i0.2685 - 3.3173i0 -0.1876 + 2.1576i0 0 -0.0174 + 0.2744i 0.0334 - 0.6658i0 0 0 00.4290 - 4.6106i-0.1034 + 1.2107i 0 0 0-0.2145 + 2.3056i0 0 0 0 00 0 0 0-0.2145 + 2.3056i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 + 0.0037i 0 0 0 00 0 0 0 0 + 0.0047i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 -0.0160 + 0.3994iColumns 11 through 150 0 0 0 00 0 0 0 00 0 0 -0.0479 + 0.7722i0 0 0 0 0-0.1034 + 1.2107i 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.2145 + 2.3056i 0 -0.2145 + 2.3056i 0 00.3263 - 3.7448i -0.0001 + 0.0023i 0 0 00 0-0.0001 + 0.0023i-0.0001 + 0.0023i0.0000 - 0.0000i-0.0875 + 0.9823i0 -0.0001 + 0.0023i0.3105 - 3.5163i-0.03800.1734 - 2.2088i0 0 -0.0875 + 0.9823i+ 0.4577i0 0 0 -0.0380 + 0.4577i0.1389 - 1.5083i0 0 0 0-0.1009 + 1.0542i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0Columns 16 through 200 0 0 0 00 0 0 0 00 0 -0.0618 + 0.7468i 0 00 0 0 0 00 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.1009 + 1.0542i 0 0 0 00.3596 - 5.1047i0 -0.0418 + 0.5094i-0.0878 + 1.1167i-0.1034 + 1.2107i0 00.2344 - 2.8992i-0.0878 + 1.1167i0 -0.1034 + 1.2107i 0.1651 - 1.9557i 0 00 0 0.0418 - 0.5080i-0.0003-0.0418 + 0.5094i+ 0.0068i0 0 0 -0.0003 + 0.0068i0.0367 - 0.7228i-0.0437 + 0.7381i 0 0 0 00 0 0 0 00 0 0 0 0-0.0860 + 1.6905i 0 0 0 00 0 0 0 00 0 0 0 00 -0.0432 + 0.5748i 0 0 00 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 -0.0003 + 0.0066i0 0 0 0-0.0003 + 0.0055i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0Columns 21 through 250 0 0 0 00 0 0 0-0.5693 + 0.6994i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.0437 + 0.7381i 0 0 -0.0860 + 1.6905i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00.0838 - 1.4488i -0.0407 + 0.7120i 0 0 0-0.0649 + 1.0376i0 00.1055 - 1.7474i-0.0407 + 0.7120i-0.0179 + 0.2846i0.0827 - 1.3195i0 -0.0649 + 1.0376i0 0 -0.0179 + 0.2846i 0.1038 - 1.9730i0 0 0 00.5997 - 1.0027i0 0 0 0-0.0304 + 0.3066i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 + 0.0068i 0 0 00 0 -0.0001 + 0.0037i 0 00 0 0 0-0.0001 + 0.0042i0 0 0 0 00 0 0 0 0Columns 26 through 300 0 0 0 00 0 0 0 0 + 0.0054i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 00 0 0 0 00 0 0 0 00 -0.0432 + 0.5748i 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0-0.0304 + 0.3066i 0 0 0 0-0.0190 + 0.2092i-0.0145 + 0.1587i0.1280 - 1.3359i-0.0642 + 0.6742i-0.0642 + 0.6742i 0.1074 - 1.2461i 0 0 0-0.0609 + 0.6566i0 0.0799 - 0.8607i-0.0190 + 0.2092i0.0754 - 0.8089i0 -0.0609 + 0.6566i-0.0145 + 0.1587i0 0 0 0 0 - 0.5525i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 -0.00590 0 0 0 0Columns 31 through 350 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 + 0.0037i 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 + 0.0047i 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 -0.0003 + 0.0066i 00 0 0 -0.0003 + 0.0055i0 0 0 0 00 0 0 0 0 + 0.0068i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 - 0.4000i 0 0 0 00 0 - 0.5000i 0 0 00 0 0.0346 - 0.7025i 0 00 0 0 0.0277 - 0.5542i0 0 0 0 0 - 0.6993i0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0Columns 36 through 390 0 0 -0.0160 + 0.3994i 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0160 + 0.3994i 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0-0.0001 + 0.0037i0 0 0 00 00 -0.0001 + 0.0042i0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0059 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 00.0068 - 0.3675i0 00 0.0111 - 0.4307i0 0 0.6098 0 0 0 0 0.0319 - 0.7890i U =1.0e+003 *0.0915 - 0.1339i0.0712 - 0.1171i0.0618 - 0.0724i0.0680 - 0.0540i0.0666 - 0.0494i0.0745 - 0.0550i0.0792 - 0.0574i0.1659 - 0.0776i0.0535 - 0.0308i0.0555 - 0.0296i3.8741 +4.1652i0.0514 - 0.0316i0.0546 - 0.0614i0.0497 - 0.1055i0.0496 - 0.1237i0.0547 - 0.1336i0.0605 - 0.1277i0.0504 - 0.1256i-0.0002 + 0.0015i0.0466 - 0.1265i0.0461 - 0.1286i0.0455 - 0.1290i0.0484 - 0.1255i0.0744 - 0.1436i0.0516 - 0.1896i0.0520 - 0.1647i0.0334 - 0.2574i0.0283 - 0.2765i0.0016 - 0.0779i0.00110.0014 - 0.0726i-0.0072 - 0.0790i-0.0062 - 0.0964i0.0011 - 0.0800i-0.0023 - 0.0823i-0.0031 - 0.0825i-4.3537 + 0.6080i0.2219 - 0.0873i各节点的功率S为(按节点号排列): 1.0e+009 *-0.0000 + 0.0000i-0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0001i 0.0002 + 0.0001i 0.0000 - 0.0001i -0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0003i 0.0000 + 0.0000i -0.0000 + 0.0003i 0.0000 + 0.0004i 0.0000 + 0.0005i -0.0000 + 0.0004i 0.0000 + 0.0002i0.0000 + 0.0003i1.1785 + 0.0007i 0.0005 + 0.0008i 0.00000.0000-0.00000.0000-0.00000.00000.0000-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000各条支路的首端功率Si为(同B1顺序一样): 3.5400e+005 +2.4736e+005i-3.5581e+005 -2.3628e+005i1.0071e+005 +2.6013e+005i2.3682e+005 -1.6375e+005i3.7264e+003 +1.4471e+006i-8.0159e+004 +2.7957e+005i1.4664e+005 -5.0894e+004i-1.1893e+005 +8.1179e+004i-6.8733e+003 +9.6236e+004i-8.1580e+004 +1.3584e+005i-3.9332e+004 -8.2485e+004i-7.5059e+004 +2.1608e+005i-1.9406e+001 +2.7536e+005i-2.5689e+004 -1.0282e+005i-1.0682e+005 -2.1610e+005i-1.2535e+005 -4.1708e+005i-2.9483e+004 -1.4331e+004i2.6881e+004 +1.7017e+004i1.7943e+003 +1.8913e+005i2.7401e+007 +7.4282e+008i2.7399e+007 +7.4282e+008i1.3064e+005 -1.2139e+005i1.1489e+005 -1.2327e+005i7.7164e+004 -2.1257e+005i-2.8359e+004 -1.6599e+005i-1.7425e+003 -1.7302e+004i3.5700e+004 -1.7516e+004i3.8835e+004 -3.2323e+004i-1.2909e+005 +6.6903e+004i1.0067e+005 -2.4294e+005i6.7162e+004 +1.3247e+006i6.6365e+004 +1.2810e+006i-7.0330e+000 +2.1637e+002i9.7641e+003 -2.0069e+004i1.0245e+004 -4.5881e+003i2.4215e+003 +1.2980e+006i-1.4470e+004 +6.4486e+003i1.4051e+004 +6.8360e+005i1.9061e+005 -1.7744e+005i3.1770e+004 +1.1214e+006i-6.2319e+004 +3.1983e+005i1.2274e+005 -2.7770e+005i1.1898e+005 -2.7519e+005i9.8516e+004 -3.3183e+005i4.8839e+006 -7.0589e+005i各条支路的末端功率Sj为(同B1顺序一样): -3.3804e+005 -8.4052e+004i3.5993e+005 +3.0184e+005i-9.6779e+004 -2.2023e+005i-2.1492e+005 +1.8682e+005i-3.7264e+003 -5.6637e+003i8.6098e+004 -1.8535e+005i-1.4524e+005 +6.3681e+004i1.2077e+005 -5.2863e+004i8.2090e+004 -1.2718e+005i4.0208e+004 +9.3498e+004i8.3567e+003 +9.6235e+004i8.0400e+004 -1.5426e+005i19.4058 -26.1530i2.6210e+004 +1.0809e+005i1.2059e+005 +4.2529e+005i1.3051e+005 +4.9198e+005i2.9595e+004 +1.5259e+004i-2.6774e+004 -1.6139e+004i-1.7943e+003 -1.0552e+003i-7.9694e+004 -1.7952e+004i-7.7356e+004 -1.2573e+004i-1.2279e+005 +2.0853e+005i-1.0739e+005 +2.0990e+005i-7.3846e+004 +2.4186e+005i2.9462e+004 +1.7743e+005i1.7620e+003 +1.2057e+004i-3.7913e+004 +1.8782e+004i-3.8792e+004 +3.1940e+004i1.2980e+005 -6.1207e+004i-9.6457e+004 +2.9084e+005i3.9717e+001 +1.3853e+002i-3.5171e+003 -6.0815e+003i2.4385e+001 +1.3068e+002i-9.7460e+003 +1.5660e+004i-1.0242e+004 +1.1971e+003i-2.4215e+003 -7.0055e+003i1.4506e+004 -1.2520e+004i-1.5552e+003 -3.8100e+003i-1.8260e+005 +2.4172e+005i-2.8930e+003 -4.7791e+003i6.6279e+004 -2.8646e+005i-1.1337e+005 +3.3958e+005i-1.0726e+005 +3.4408e+005i-9.6140e+004 +3.3945e+005i2.8547e+005 +7.0589e+005i各条支路的功率损耗dS为(同B1顺序一样): 1.5956e+004 +1.6331e+005i4.1140e+003 +6.5558e+004i3.9344e+003 +3.9904e+004i2.1901e+004 +2.3079e+004i-7.8671e-011 +1.4414e+006i1.4002e+003 +1.2787e+004i 1.8394e+003 +2.8317e+004i 8.3252e+002 +1.2332e+004i 5.0953e+002 +8.6579e+003i 8.7681e+002 +1.1013e+004i 6.5898e+002 +9.2305e+003i 5.3409e+003 +6.1812e+004i -1.3866e-011 +2.7534e+005i 5.2034e+002 +5.2760e+003i 1.3774e+004 +2.0919e+005i 5.1660e+003 +7.4900e+004i 1.1258e+002 +9.2738e+002i 1.0692e+002 +8.7808e+002i 7.5033e-012 +1.8808e+005i 2.7321e+007 +7.4280e+008i 2.7322e+007 +7.4281e+008i 7.8440e+003 +8.7133e+004i 7.4944e+003 +8.6625e+004i3.3182e+003 +2.9296e+004i 1.1030e+003 +1.1435e+004i 1.9504e+001 -5.2453e+003i -2.2133e+003 +1.2653e+003i4.2504e+001 -3.8293e+002i 7.1612e+002 +5.6968e+003i 4.2119e+003 +4.7899e+004i6.7202e+004 +1.3248e+006i 6.2848e+004 +1.2749e+006i 1.7352e+001 +3.4704e+002i 1.8043e+001 -4.4090e+003i3.6386e+000 -3.3909e+003i4.4565e-011 +1.2910e+006i 3.5978e+001 -6.0715e+003i 1.2496e+004 +6.7979e+005i 8.0137e+003 +6.4281e+004i2.8877e+004 +1.1166e+006i3.9594e+003 +3.3374e+004i 9.3637e+003 +6.1880e+004i1.1719e+004 +6.8892e+004i2.3756e+003 +7.6167e+003i 5.1694e+006。
C语言潮流计算-牛顿-拉夫逊法(直角坐标)
(k )
计算平衡节点功率 S s 和线路功率
~
停止
1 / 20
程序代码如下:
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<conio.h> struct linetype // 线路参数 { int jiedian[2]; // 若为变压器,则 左端为“低”压侧(换算成Π型等值电路),变压器的阻抗在“低”压侧 double R,X,K,B0; }line[30]; struct Nodetype // 节点功率 { int lei; // PQ 定义 1,PV 定义 2,平衡节点 定义 3 int jie; // 节点编号 double P,Q; double y1,y2; // 初始电压 }poin[30]; int point,road; // 节点数 point 支路数 road int p1,p2; // PQ PV 节点数目 //************************************************* 自定义 函数 *************************************************************** void chargescreen() // 调节屏幕 { int mode; printf("\t 请选择界面模式: ①. 106*45 ②. 134*45\n\t>>"); a: scanf("%d",&mode); if(mode!=1 && mode!=2) { printf("\n\t 错误,请重新输入...\n\t>>"); goto a; } printf("\n\t"); system("pause"); if(mode==1) system("mode con:cols=106 lines=45"); // 调整屏幕大小 else system("mode con:cols=134 lines=45"); } void pqpv() // 统计 PQ、PV 节点 数目
C语言编程 牛顿迭代法求方程1
牛顿迭代公式设r 是f(x) = 0的根,选取x0作为r 初始近似值,过点(x0,f(x0))的切线L ,L 的方程为y = f(x0)+f'(x0)(x-x0),求出L 与x 轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r 的一次近似值。
过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x 轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r 的二次近似值。
重复以上过程,得r 的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r 的n+1次近似值,上式称为牛顿迭代公式。
解非线性方程f(x)=0似方法。
把f(x)在x0 f(x) = f(x0)+(x -x0)f'(x0)+(x -x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x -x0)-f(x)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。
牛顿迭代法又称牛顿切线法,它采用以下方法求根:先任意设定一个与真实的根接近的值x 0作为第一个近似根,由x 0求出f(x 0),过(x 0,f(x 0))点做f(x)的切线,交x 轴于x 1,把它作为第二次近似根,再由x 1求出f(x 1),再过(x 1,f(x 1))点做f(x)的切线,交x 轴于x 2,再求出f(x 2),再作切线……如此继续下去,直到足够接近真正的x *为止。
)()()()(0'0010100'x f x f x x x x x f x f -=-=因此, 就是牛顿迭代公式。
例1 用牛顿迭代法求方程2x 3-4x 2+3x-6=0在1.5附近的根。
Matlab及C语言在潮流计算运用
一,潮流计算算法原理:牛顿—拉夫逊法的基本原理 牛顿-拉夫逊法是一种求解非线性方程的数值解法,由于便于编写程序用计算机求解,应用较广。
下面以一元非线性代数方程的求解为例,来说明牛顿-拉夫逊法的基本思想。
设欲求解的非线性代数方程为 f(x)=o设方程的真实解为x*,则必有f(x*)=0。
用牛顿-拉夫逊法求方程真实解x*的步骤如下:首先选取余割合适的初始估值x°作为方程f(x)=0的解,若恰巧有f(x°)=0,则方程的真实解即为x*= x°若f(x°)≠0,则做下一步。
取x¹=x°+Δx°为第一次的修正估值,则 f(x¹)=f(x°+Δx°) 其中Δx°为初始估值的增量,即Δx°=x¹-x°。
设函数f(x)具有任意阶导数,即可将上式在x°的邻域展开为泰勒级数,即:f(x¹)=f(x°+Δx°)=f(x°)+f'(x°)Δx°+[f''(x°)(Δx°)2]/2+… 若所取的|Δx°|足够小,则含(Δx°)²的项及其余的一切高阶项均可略去,并使其等于零,即:f(x¹)≈f(x°)+f'(x°)Δx°=0 故得 Δx°=-f(x°)/f'(x°) 从而 x¹= x°-f(x°)/f'(x°)可见,只要f'(x°)≠0,即可根据上式求出第一次的修正估值x¹,若恰巧有f(x¹)=0,则方程的真实解即为x*=x¹。
若f(x¹)≠0,则用上述方法由x¹再确定第二次的修正估值x²。
牛顿-拉夫逊迭代法电力网潮流计算方法与程序
end
Um=conj(U');
I=Y*Um;
Sm=diag(Um)*conj(I)
form=1:N1+1
forn=1:N1+1
Smn(m,n)=U(m)*(conj(U(m))-conj(U(n)))*conj(-Y(m,n));
clear
u=sym('[u1,u2,u3]');delt=sym('[d1,d2,d3]');
G=zeros(3);
B=[-19.98,10,10;10,-19.98,10;10,10,-19.98];
Y=G+j*B;
p(1)=-1.7192;q(1)=-0.7346;p(2)=0.6661;
k=0;precision=1;
qt节点无功功率符号表达式;
pp节点有功功率不平衡值符号表达式;
qq节点无功功率不平衡值符号表达式;
uu节点电压幅值数值矩阵;
dd节点电压相角数值矩阵;
PP节点不平衡功率的数值矩阵
N1网络独立节点总数;
N2网络PV节点总数;
Sm节点功率矩阵;
Smn支路功率矩阵;
J1, J2, J节点不平衡功率雅可比符号矩阵.
end
pp(m)=p(m)-sum(pt);
end
form=1:N1-N2
forn=1:N1+1
qt(n)=u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
end
qq(m)=q(m)-sum(qt);
牛顿-拉夫逊法潮流计算程序与讲解
(四)小阻抗支路
(五)R/X值过大
• 线路电阻大于电抗,导致一些网络电抗远 大于电阻的潮流算法失效 • 在PQ分解法中,为了将不断变化的H、L矩 阵用常数矩阵来代替,认为互导纳中 |Gij|<|Bij|,因此当线路电阻大于电抗时,可能 会造成不收敛。
结束
谢谢
牛顿-拉夫逊法潮流计算程序与 讲解
组员:刘澍 邢越 薛伦 孙韬备
线路参数文件
节点功率文件
• 程序设计部分
• 主要讲N_L法
计算潮流
潮流不收敛的原因
• • • • 初值偏离终值过大 系统有功不平衡 系统无功不平衡 小阻抗支路的存在
(一)初值偏离终值过大
• 实际系统中,受稳定性要求的限制,各个 节点间的相位差不能很大,故各节点的相 位初值一般给定为0; • 正常运行情况下,各母线的电压都在额定 电压附近,因此电压有效值得初值都给定 为1
(二)系统有功不平衡
• • • • plot (yg,kkkk,'.') axis([0,10,-2,2]) xlabel('注入功率') ylabel('收敛性')
(二)系统有功不平衡
(三)系统无功不平衡
• wugong=0; • for m=1:200 • wugong=wugong+1; • wg(m)=wugong; • for t=1:mn • if b(t,2)==1 • b(t,4)=wugong; • break • end • …… • …… • end
(一)初值偏离终值过大
• • • • • • • • • • canchu=0; for m=1:200 canshu=canshu+0.02;%参数从0增大 cs(m)=canshu; for i=1:4 if b(i,2)==1%改变PQ节点给定的电压初值 b(i,5)=canshu; end end ……
附录_潮流计算程序
附录牛顿-拉夫逊法潮流计算程序本附录所介绍的牛顿-拉夫逊法潮流计算程序采用极坐标形式,其中所涉及的计算公式与第四章中的式(4-42)-(4-59)完全相同,计算程序框图与图4-6基本一致。
程序采用C语言编制。
为了便于初学者阅读,节点导纳矩阵和雅可比矩阵都用满阵存储而未采用稀疏技巧;但为了适当照顾使用的方便性,在输入数据中对节点编号次序不作任何要求。
下面先介绍输入文件的格式和要求,然后列出程序,最后说明潮流结果的输出。
建议读者先从原始数据的输入中了解和熟悉它们在程序中对应的变量、结构体数组及其成员的名称,然后对照图4-6和式(4-42)-(4-59)仔细和耐心地阅读程序,最好能在计算机上亲自实现和进行调试。
在调试时,可以用下面给出的对应于[例4-3]系统的输入数据,以及程序运行中得出的中间结果,逐步与[例4-3]中所给出的中间结果进行对比,从而查找错误所在并进行改正。
一、原始数据的输入程序通过“输入数据.txt”文件输入以下5个数据段。
1.信息(共6个)(1)总节点数(变量num_node)(2)线路和并联电容器总数(变量num_line)(3)变压器支路总数(变量num_tran)(4)发电机节点总数(变量num_gene)(5)负荷节点总数(变量num_load)(6)节点功率不平衡量的容许误差(变量error)2.线路和并联电容器数据(结构体数组line):每一线路或并联电容器包括5个数据I侧节点编号和J侧节点编号可以对换;线路和并联电容器之间的次序可以任意,而且允许多条线路或多个电容器并联。
3.变压器支路数据(结构体数组tran):每一变压器支路包括5个数据变压器电阻、电抗和非标准变比与两侧节点编号之间的关系服从图2-29,即电阻和电抗在1侧而非标准变比在2侧;三绕组变压器需按图2-26化成3个变压器支路,其中3侧变压器支路的非标准变比为1。
变压器支路之间的次序可以任意。
4.发电机节点数据(结构体数组gene):每一发电机节点包括5个数据对于PQ节点,节点种类为1,电压可给任意值;对于PV节点,节点种类为-1,发出无功功率可给任意值;对于平衡节点,节点种类为0,发出有功功率和发出无功功率都可给任意值。
牛顿拉夫逊法潮流计算
牛顿拉夫逊法潮流计算牛顿-拉夫逊法(Newton-Raphson method)是一种用于求解非线性方程的数值方法。
它通过迭代逼近根的方式,将非线性方程转化为一系列的线性方程来求解。
在电力系统中,潮流计算用于确定电力网中节点的电压幅值和相角。
潮流计算是电力系统分析的重要基础,可以用于计算电力系统的潮流分布、功率损耗、节点电压稳定度等参数,为电力系统的规划、运行和控制提供参考依据。
牛顿-拉夫逊法是一种常用的潮流计算方法,它的基本思想是通过不断迭代来逼近电网的潮流分布,直到满足一定的收敛条件。
下面将对牛顿-拉夫逊法的具体步骤进行详细介绍。
首先,我们需要建立电力网络的节点潮流方程,即功率方程。
对于每一个节点i,其节点功率方程可以表示为:Pi - Vi * (sum(Gij * cos(θi - θj)) - sum(Bij * sin(θi -θj))) = 0Qi - Vi * (sum(Gij * sin(θi - θj)) + sum(Bij * cos(θi -θj))) = 0其中,Pi和Qi分别为节点i的有功功率和无功功率,Vi和θi分别为节点i的电压幅值和相角,Gij和Bij分别为节点i和节点j之间的导纳和电纳。
接下来,我们需要对每个节点的电压幅值和相角进行初始化。
一般情况下,可以将电压幅值设置为1,相角设置为0。
然后,我们可以开始进行迭代计算。
在每一轮迭代中,我们需要计算每个节点的雅可比矩阵和功率残差,然后更新电压幅值和相角。
雅可比矩阵可以通过对节点功率方程进行求导得到,具体如下:dPi/dVi = -sum(Vj * (Gij * sin(θi - θj) + Bij * cos(θi - θj)))dPi/dθi = sum(Vj * (Gij * Vi * cos(θi - θj) - Bij * Vi * sin(θi - θj)))dQi/dVi = sum(Vj * (Gij * cos(θi - θj) - Bij * sin(θi - θj)))dQi/dθi = sum(Vj * (Gij * Vi * sin(θi - θj) + Bij * Vi * cos(θi - θj)))功率残差可以通过将节点功率方程代入得到,如下:RPi = Pi - Vi * (sum(Gij * cos(θi - θj)) - sum(Bij *sin(θi - θj)))RQi = Qi - Vi * (sum(Gij * sin(θi - θj)) + sum(Bij *cos(θi - θj)))最后,我们可以使用牛顿-拉夫逊法的迭代公式来更新电压幅值和相角,具体如下:Vi(new) = Vi(old) + ΔViθi(new) = θi(old) + Δθi其中,ΔVi和Δθi分别为通过求解线性方程组得到的电压幅值和相角的增量。
牛顿拉夫逊法计算潮流计算
例题
PG1 P1 PL1 0.5 1 0.5
QG1 Q1 QL1 0.02363 0.5 0.52363
3
3
QG2 Q2 f2 (G2 je j B2 j f j ) e2 (G2 j f j B2 je j ) 0.05708
2 3
0
e3 0
f3 0
例题
0 20 0 10
J (0) 2 0 0 10
0
0
0 20
0
0
2
0
第五步:求修正量
UP222(0(0) ) UP322(30(0) )
J
(0)
fe22((00)) fe33((00))
2)计算各节点运算功率:
S (0) i
S Li
U
(
0)
2 i
yi
0
配电网前推回推潮流计算的步骤
3)从网络末端开始,逐步前推,由节点电
U (0) i
压 ,求全网各支路功率分布。
前推过程为:
P (1) ij
Pj(0)
P (1) jk
Pij(1)
kC j
Q(1) ij
Q(0) j
j 1
j 1
1 (10 0.66693410 0.0166934) 0.5
3
3
Q1 f1 (G1 je j B1 j f j ) e1 (G1 j f j B1 je j )
j 1
j 1
1 (20 10 0.99777610 0.999861) 0.02363
牛顿—拉夫逊潮流计算的程序设计
牛顿-拉夫逊法潮流计算的程序设计摘要本文,首先简单介绍了基于在MALAB中行潮流计算的原理、意义,然后用具体的实例,简单介绍了,如何利用MALAB去进行电力系统中的潮流计算。
众所周知,电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压、各元件中流过的功率、系统的功率损耗等等。
在电力系统规划的设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量地分析比较供电方案或运行方式的合理性、可靠性和经济性。
此外,在进行电力系统静态及暂态稳定计算时,要利用潮流计算的结果作为其计算的基础;一些故障分析以及优化计算也需要有相应的潮流计算作配合;潮流计算往往成为上述计算程序的一个重要组成部分。
以上这些,主要是在系统规划设计及运行方式安排中的应用,属于离线计算范畴。
牛顿-拉夫逊法在电力系统潮流计算的常用算法之一,它收敛性好,迭代次数少,介绍了电力系统潮流计算机辅助分析的基本知识及潮流计算牛顿-拉夫逊法,最后介绍了利用matlab程序运行的结果。
关键词:电力系统潮流计算牛顿-拉夫逊法MATLABNEWTON-RAPHSON POWER FLOW CALCULATION PROGRAM DESIGNABSTRACTThis article first introduces the flow calculation based on the principle of MALAB Bank of China, meaning, and then use specific examples, a brief introduction, how to use MALAB to the flow calculation in power systems.As we all know, is the study of power flow calculation of power system steady-state operation of a calculation, which according to the given operating conditions and system wiring the entire power system to determine the operational status of each part: the bus voltage flowing through the components power, system power loss and so on. In power system planning power system design and operation mode of the current study, are required to quantitatively calculated using the trend analysis and comparison of the program or run mode power supply reasonable, reliability and economy.In addition, during the power system static and transient stability calculation, the results of calculation to take advantage of the trend as its basis of calculation; number of fault analysis and optimization also requires a corresponding flow calculation for cooperation; power flow calculation program often become the an important part. These, mainly in the way of system design and operation arrangements in the application areas are off-line calculation.Newton - Raphson power flow calculation in power system is one commonly used method, it is good convergence of the iteration number of small,introduce the trend of computer-aided power system analysis of the basic knowledge and power flow Newton - Raphson method, introduced by the last matlab run results.Keywords;power flow calculation system Newton - rafer Johnson law matlab目录牛顿-拉夫逊法潮流计算的程序设计 (I)摘要 (I)ABSTRACT (II)第一章绪论 (1)引言 (1)1.1 电力系统潮流计算的意义 (2)1.2 电力系统潮流计算的发展 (2)1.3 潮流计算的发展趋势 (3)第二章潮流计算的数学模型 (6)2.1 电力线路的数学模型及其应用 (6)2.2 等值双绕组变压器模型及其应用 (7)2.3 等值三绕组变压器模型 (9)2.4 电力网络的数学模型 (9)2.5 节点导纳矩阵 (10)2.5.1 节点导纳矩阵的形成 (10)2.5.2 节点导纳矩阵的修改 (11)2.6 潮流计算节点的类型 (11)2.7 节点功率方程 (12)2.8 潮流计算的约束条件 (13)第三章牛拉法潮流计算基本原理 (15)3.1 牛顿-拉夫逊法的基本原理 (15)3.2 牛顿-拉夫逊法潮流计算的修正方程 (17)3.3 潮流计算的基本特点 (20)3.4 节点功率方程 (21)第四章牛拉法分解潮流程序 (22)4.1 牛拉法分解潮流程序原理总框图 (22)4.2 形成节点导纳矩阵程序框图及代码 (23)4.2.1 形成节点导纳矩阵程序框图 (23)4.2.2 形成节点导纳矩阵的程序代码 (24)4.3 程序输出框图及代码 (25)4.3.1 程序输出框图 (25)4.3.2 程序输出代码 (26)4.4求取DF的程序框图及代码 (27)4.4.1 求取DF的程序框图 (27)4.4.2 求取DF的程序代码 (28)4.5 jacci矩阵求取的程序框图及代码 (29)4.5.1 jacci矩阵的程序框图 (29)4.5.2 jacci矩阵的程序代码 (30)4.6 求取DF、DE的程序框图及代码 (32)4.6.1 求取DF 、DE的程序框图 (32)4.6.2 求取DE、DF程序代码 (33)第5章实例与分析 (34)5.1 一个9节点算例 (34)5.2 变压器参数的标幺值 (36)5.3 导线参数的标幺值 (36)5.4 一个9节点电力系统的等效电路图 (37)5.5 根据算例输入相应节点的线路参数 (37)5.6 算例运行 (39)全文总结 (44)致谢 (45)英文参考资料 (46)英文翻译资料 (57)附录 (67)参考文献 (67)第一章绪论引言潮流计算是研究电力系统的一种最基本和最重要的计算,最初,电力系统潮流计算是通过人工手算的,后来为了适应电力系统日益发展的需要,采用了交流计算台。
潮流计算程序及计算结果
附表1:计算机计算潮流程序:%本程序的功能是用牛顿——拉夫逊法进行潮流计算% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号clear;n=13;%input('请输入节点数:n=');nl=13;%input('请输入支路数:nl=');isb=1;%input('请输入平衡母线节点号:isb=');pr=0.00001;%input('请输入误差精度:pr=');B1=[];%input('请输入由支路参数形成的矩阵:B1=');B2=[];%input('请输入各节点参数形成的矩阵:B2=');Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl); %-------修改部分------------ym=0;SB=100;UB=220;%ym=input('您输入的参数是标么值?(若不是则输入一个不为零的数值)'); if ym~=0%SB=input('请输入功率基准值:SB=');%UB=input('请输入电压基准值:UB=');YB=SB./UB./UB;BB1=B1;BB2=B2;for i=1:nlB1(i,3)=B1(i,3)*YB;B1(i,4)=B1(i,4)./YB;enddisp('B1矩阵B1=');disp(B1)for i=1:nB2(i,1)=B2(i,1)./SB;B2(i,2)=B2(i,2)./SB;B2(i,3)=B2(i,3)./UB;B2(i,4)=B2(i,4)./UB;B2(i,5)=B2(i,5)./SB;enddisp('B2矩阵B2=');disp(B2)end% % %---------------------------------------------------for i=1:nl %支路数if B1(i,6)==0 %左节点处于低压侧p=B1(i,1);q=B1(i,2);elsep=B1(i,2);q=B1(i,1);endY(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); %非对角元Y(q,p)=Y(p,q);Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; %对角元K侧Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; %对角元1侧end%求导纳矩阵disp('导纳矩阵Y=');disp(Y)%----------------------------------------------------------G=real(Y);B=imag(Y); %分解出导纳阵的实部和虚部for i=1:n %给定各节点初始电压的实部和虚部e(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4); %PV节点电压给定模值endfor i=1:n %给定各节点注入功率S(i)=B2(i,1)-B2(i,2); %i节点注入功率SG-SLB(i,i)=B(i,i)+B2(i,5); %i节点无功补偿量end%=========================================================== ========P=real(S);Q=imag(S);ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;while IT2~=0IT2=0;a=a+1;for i=1:nif i~=isb %非平衡节点C(i)=0;D(i)=0;for j1=1:nC(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)endP1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)%求P',Q'V2=e(i)^2+f(i)^2; %电压模平方%========= 以下针对非PV节点来求取功率差及Jacobi矩阵元素=========if B2(i,6)~=3 %非PV节点DP=P(i)-P1; %节点有功功率差DQ=Q(i)-Q1; %节点无功功率差%=============== 以上为除平衡节点外其它节点的功率计算=================%================= 求取Jacobi矩阵===================for j1=1:nif j1~=isb&j1~=i %非平衡节点&非对角元X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de=-dQ/dfX2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df=dQ/deX3=X2; % X2=dp/df X3=dQ/deX4=-X1; % X1=dP/de X4=dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X4;J(m,q)=X2;elseif j1==i&j1~=isb %非平衡节点&对角元X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/dfX3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/deX4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/dfp=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△Qm=p+1;J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△PJ(m,q)=X2;endendelse%=============== 下面是针对PV节点来求取Jacobi矩阵的元素===========DP=P(i)-P1; % PV节点有功误差DV=V(i)^2-V2; % PV节点电压误差for j1=1:nif j1~=isb&j1~=i %非平衡节点&非对角元X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/deX2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/dfX5=0;X6=0;p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;elseif j1==i&j1~=isb %非平衡节点&对角元X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/deX2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/dfX5=-2*e(i);X6=-2*f(i);p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;m=p+1;J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;J(m,q)=X2;endendendendend%========= 以上为求雅可比矩阵的各个元素===================== for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)k1=k+1;N1=N; % N=N0+1 即N=2*n+1扩展列△P、△Qfor k2=k1:N1 % 扩展列△P、△QJ(k,k2)=J(k,k2)./J(k,k); % 非对角元规格化endJ(k,k)=1; % 对角元规格化if k~=3 % 不是第三行%======================================================== ====k4=k-1;for k3=3:k4 % 用k3行从第三行开始到当前行前的k4行消去for k2=k1:N1 % k3行后各行下三角元素J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算endJ(k3,k)=0;endif k==N0break;end%==========================================for k3=k1:N0for k2=k1:N1J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算endJ(k3,k)=0;endelsefor k3=k1:N0for k2=k1:N1J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算endJ(k3,k)=0;endendend%====上面是用线性变换方式将Jacobi矩阵化成单位矩阵=====for k=3:2:N0-1L=(k+1)./2;e(L)=e(L)-J(k,N); %修改节点电压实部k1=k+1;f(L)=f(L)-J(k1,N); %修改节点电压虚部end%------修改节点电压-----------for k=3:N0DET=abs(J(k,N));if DET>=pr %电压偏差量是否满足要求IT2=IT2+1; %不满足要求的节点数加1endendICT2(a)=IT2;ICT1=ICT1+1;end%用高斯消去法解"w=-J*V"disp('迭代次数:');disp(ICT1);disp('没有达到精度要求的个数:');disp(ICT2);for k=1:nV(k)=sqrt(e(k)^2+f(k)^2);sida(k)=atan(f(k)./e(k))*180./pi;E(k)=e(k)+f(k)*j;end%=============== 计算各输出量=========================== disp('各节点的实际电压标幺值E为(节点号从小到大排列):');disp(E);EE=E*UB;disp(EE);disp('-----------------------------------------------------');disp('各节点的电压大小V为(节点号从小到大排列):');disp(V);VV=V*UB;disp(VV);disp('-----------------------------------------------------');disp('各节点的电压相角sida为(节点号从小到大排列):');disp(sida);for p=1:nC(p)=0;for q=1:nC(p)=C(p)+conj(Y(p,q))*conj(E(q));endS(p)=E(p)*C(p);enddisp('各节点的功率S为(节点号从小到大排列):');disp(S);disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');SS=S*SB;disp(SS);disp('-----------------------------------------------------');disp('各条支路的首端功率Si为(顺序同您输入B1时一致):');for i=1:nlp=B1(i,1);q=B1(i,2);if B1(i,6)==0Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./( B1(i,3)*B1(i,5))));Siz(i)=Si(p,q);elseSi(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)./B1(i,5))-conj(E(q)))*conj(1./( B1(i,3)*B1(i,5))));Siz(i)=Si(p,q);enddisp(Si(p,q));SSi(p,q)=Si(p,q)*SB;ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];disp(ZF);%disp(SSi(p,q));disp('-----------------------------------------------------');enddisp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');for i=1:nlp=B1(i,1);q=B1(i,2);if B1(i,6)==0Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./( B1(i,3)*B1(i,5))));Sjy(i)=Sj(q,p);elseSj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)*B1(i,5))-conj(E(p)))*conj(1./( B1(i,3)*B1(i,5))));Sjy(i)=Sj(q,p);enddisp(Sj(q,p));SSj(q,p)=Sj(q,p)*SB;ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];disp(ZF);%disp(SSj(q,p));disp('-----------------------------------------------------');enddisp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');for i=1:nlp=B1(i,1);q=B1(i,2);DS(i)=Si(p,q)+Sj(q,p);disp(DS(i));DDS(i)=DS(i)*SB;ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))];disp(ZF);%disp(DDS(i));disp('-----------------------------------------------------');endfigure(1);subplot(2,2,1);plot(V);xlabel('节点号');ylabel('电压标幺值');grid on;subplot(2,2,2);plot(sida);xlabel('节点号');ylabel('电压角度');grid on;subplot(2,2,3);bar(real(S));ylabel('节点注入有功');grid on;subplot(2,2,4);bar(Siz);ylabel('支路首端无功');grid on;1.冬季最大运行方式潮流计算结果:计算机运行的B1,B2阵如下:B1=[ 1 2 0.0318+0.0454*i 0.282*i 1 01 11 0.0114+0.0374*i 0.2332*i 1 011 3 0.001975+0.0695*i 0 1.025:1.1 11 12 0.0087+0.029*i 0.1788*i 1 012 4 0.0031+0.103*i 0 1:1.05 11 5 0.043+0.142*i 0.22*i 1 05 6 0.0031+0.103*i 0 1:1.05 15 7 0.043+0.142*i 0.22*i 1 01 7 0.051+0.168*i 0.26*i 1 07 8 0.00198+0.0695*i 0 1:1.1 17 13 0.01+0.033*i 0.204*i 1 013 9 0.0025+0.083*i 0 0.9956 11 10 0.00239+0.084*i 0 1.048 1]B2=[0 0 1.1 0 0 10 1.43+0.886*i 1.05 1.05 0 30 0.88+0.545*i 1 0 0 20 0.77+0.4772*i 1 0 0 20 0 1 0 0 20 0.77+0.4772*i 1 0 0 20 0 1 0 0 20 0.88+0.545*i 1 0 0 20.642+0.3817*i 0 1.05 1.05 0 31+0.75*i 0.2+0.1549*i 1.05 1.05 0 30 0 1 0 0 20 0 1 0 0 20 0 1 0 0 2]计算机运行结果如下表:节点号电压值相角值支路标号首端功率末端功率支路功率损耗1 242.0000 0 1-2 148.9391+3.327637i -143-27.45476i 5.93913-24.1271i2 231.0000 -3.0341 1-11 89.1956+37.193i -88.19803-61.4687i 0.997519-24.2757i3 227.4154 -4.4383 11-3 88.19803+61.4687i -88-54.5i 0.19803+6.9687i4 226.3304 -4.9004 1-12 77.8364+36.4186i -77.2404-55.7062i 0.596039-19.2876i5 229.8318 -3.9547 12-4 77.2404+55.7062i -77-47.72i 0.24036+7.9862i6 217.7226 -8.2720 1-5 63.5438+12.2204i -61.8773-32.0321i 1.66656-19.8116i7 234.9326 -3.1047 5-6 77.2597+56.3501i -77-47.72i 0.25974+8.6301i8 226.0991 -6.2429 5-7 15.3825-24.3181i 15.5354+0.274108i 0.152961-24.044i9 231.0000 0.5851 7-8 88.20085+61.55009i -88-54.5i 0.20085+7.0501i10 231.0000 3.4950 1-7 40.806-6.05737i -40.0647-22.0555i 0.741264-28.1128i11 236.1931 -1.3348 7-13 -63.6716-39.7687i 64.0965+17.5832i 0.424934-22.1855i12 237.9346 -0.8892 13-9 -64.0965-17.5832i 64.2+21.0187i 0.10348+3.4355i13 238.1868 -2.2028 1-10 79.8613+4.23546i 80+0.641048i 0.13875+4.8765i 计算机计算结果图形:2.冬季最小运行方式潮流计算结果:计算机运行的B1B2矩阵如下:B1=[ 1 2 0.0318+0.0454*i 0.282*i 1 01 11 0.0114+0.0374*i 0.2332*i 1 011 3 0.001975+0.0695*i 0 1.025:1.1 11 12 0.0087+0.029*i 0.1788*i 1 012 4 0.0031+0.103*i 0 1:1.05 11 5 0.043+0.142*i 0.22*i 1 05 6 0.0031+0.103*i 0 1:1.05 15 7 0.043+0.142*i 0.22*i 1 01 7 0.051+0.168*i 0.26*i 1 07 8 0.00198+0.0695*i 0 1:1.1 17 13 0.01+0.033*i 0.204*i 1 013 9 0.0025+0.083*i 0 0.9956 11 10 0.00239+0.084*i 0 1.048 1]B2=[0 0 1.1 0 0 10 1.43+0.886*i 1.05 1.05 0 30 0.616+0.3817*i 1 0 0 20 0.539+0.3817*i 1 0 0 20 0 1 0 0 20 0.539+0.334*i 1 0 0 20 0 1 0 0 20 0.539+0.334*i 1 0 0 20.642+0.3817*i 0 1.05 1.05 0 31+0.75*i 0.1+0.06197*i 1.05 1.05 0 30 0 1 0 0 20 0 1 0 0 20 0 1 0 0 2]电压调整措施:变电所1、4变压器变比:+2.5% 水电厂变压器变比:-2.5%5 234.2241 -2.0051 (12--4) 54.0234+42.2706i -53.9-38.17i 0.12342+4.1006i6 226.2159 -4.8577 (1--5) 34.1669+4.22856 -33.6427-28.276i 0.524165-24.0474i7 235.1128 -0.4737 (5--6) 54.0179+37.3169i -53.9-33.4i 0.11789+3.9169i8 223.9941 -2.4603 (5--7) -20.3752-9.04094i 20.5371-15.4558i 0.161947-24.4968i9 231.0000 3.4429 (1--7) 11.0013+1.45186i -10.8258-31.4513i 0.175442-29.9995i10 231.0000 3.9321 (7--8) 53.9768+36.0957i -53.9-33.4i 0.076797+2.6957i11 238.4187 -0.9561 (7--13) -63.6881+10.8115i 64.0874-32.7763i 0.39932-21.9648i12 239.1742 -0.6185 (13--9) -64.0874+32.7763i 64.2-29.0386i 0.11258+3.7377i13 234.9468 0.6942 (1--10) -89.8244+5.1673i 90+1.0049i 0.17561+6.1722i 计算机运行结果的图形:3.夏季最大运行方式计算机计算结果:计算机运行B1B2阵如下:B1=[ 1 2 0.0318+0.0454*i 0.282*i 1 01 11 0.0114+0.0374*i 0.2332*i 1 011 3 0.001975+0.0695*i 0 1.025:1.1 11 12 0.0087+0.029*i 0.1788*i 1 012 4 0.0031+0.103*i 0 1:1.05 11 5 0.043+0.142*i 0.22*i 1 05 6 0.0031+0.103*i 0 1:1.05 15 7 0.043+0.142*i 0.22*i 1 01 7 0.051+0.168*i 0.26*i 1 07 8 0.00198+0.0695*i 0 1:1.1 17 13 0.02+0.066*i 0.102*i 1 013 9 0.0025+0.083*i 0 0.9956 11 10 0.00239+0.084*i 0 1.048 1]B2=[0 0 1.1 0 0 10 1.26+0.7814*i 1.05 1.05 0 30 0.776+0.481*i 1 0 0 20 0.543+0.3367*i 1 0 0 20 0 1 0 0 20 0.543+0.3367*i 1 0 0 20 0 1 0 0 20 0.776+0.481*i 1 0 0 21.35+0.6538*i 0.2+0.124*i 1.05 1.05 0 31+0.75*i 0.25+0.1549*i 1.05 1.05 0 30 0 1 0 0 20 0 1 0 0 20 0 1 0 0 2]计算机运行结果如下表:10 231.0000 3.4950 (7,8) 77.7585+53.6634i -77.6-48.1i0.1585+5.5634i11 237.0938 -1.1858 (7,13) -113.4984+9.476406i 114.6926-28.38885i 1.19422-18.9124i12 239.1742 -0.6185 (13,9) -114.6926+28.38885 115-18.18369i0.307384+10.2052i13 233.3912 3.2303 (1,10) -79.8613+4.23546i 80+0.641048i 0.13875+4.8765i 计算机计算结果如图:4.夏季最小运行方式:计算机运行B1B2阵如下:B1=[ 1 2 0.0318+0.0454*i 0.282*i 1 01 11 0.0114+0.0374*i 0.2332*i 1 011 3 0.001975+0.0695*i 0 1.025:1.1 11 12 0.0087+0.029*i 0.1788*i 1 012 4 0.0031+0.103*i 0 1:1.05 11 5 0.043+0.142*i 0.22*i 1 05 6 0.0031+0.103*i 0 1:1.05 15 7 0.043+0.142*i 0.22*i 1 01 7 0.051+0.168*i 0.26*i 1 07 8 0.00198+0.0695*i 0 1:1.1 17 13 0.02+0.066*i 0.102*i 1 013 9 0.0025+0.083*i 0 0.9956 11 10 0.00239+0.084*i 0 1.048 1]B2=[0 0 1.1 0 0 10 1.26+0.7814*i 1.05 1.05 0 30 0.543+0.336*i 1 0 0 20 0.4753+0.2947*i 1 0 0 20 0 1 0 0 20 0.4753+0.2947*i 1 0 0 20 0 1 0 0 20 0.543+0.336*i 1 0 0 21.35+0.6538*i 0.2+0.124*i 1.05 1.05 0 31+0.75*i 0.25+0.1549*i 1.05 1.05 0 30 0 1 0 0 20 0 1 0 0 20 0 1 0 0 2]10 231.0000 3.9321 (7,8) 54.3735+36.2509i -54.3-33.67i 0.073528+2.5809i11 239.0099 -0.8518 (7,13) -113.4428+24.39707i 114.6754-43.79301i 1.23255-19.3959i12 239.8726 -0.5689 (13,9) -114.6754+43.79301i 115-33.01613i 0.324605+10.7769i13 235.9565 4.4510 (1,10) -89.8244+5.1673i 90+1.0049i 0.17561+6.1722i 计算机计算结果如图:5.夏季故障运行状态:调压及无功补偿措施如下:变电所3的变压器变比为-2.5%,无功补偿容量为20Mvar。
牛顿拉夫逊潮流计算程序
f1 x 2 xn f 2 f 2 x 2 xn f n f n x 2 xn
f i
f1
Δ X 1 Δ X 2 Δ X n
(13)
' ' 式(13)等号右边矩阵的 x 等都是对于 X1 ,X 2 的值,这一矩阵称为雅可比(Jacobi)矩阵。
P—Q分解法潮流计算的计算机算法。
电力系统分析
1概 述
类型:
导纳法
阻抗法
牛顿-拉夫逊法(N—R法) 快速分解法( PQ分解法)
电力系统分析
2 潮流计算的基本方程
2.1节点的分类 2.2基本方程式
电力系统分析
2.1节点(bus)的分类
根据电力系统中各节点性质的不同,可把节点分成三种类型。 1.PQ节点 事先给定的是节点功率(P、Q),待求的是节点电压向量 (U、θ)。通常变电所母线都是PQ节点,当某些发电机的 出力P、Q给定时,也可作为PQ节点。PQ节点上的发电机称 之为PQ机(或PQ给定型发电机)。在潮流计算中,系统大 部分节点属于PQ节点。
2
m 1
Δ P1 e m 1 Δ Q 1 e m 1 Δ Pm e m -1 Δ Q m e m -1 Δ Pm 1 e m -1 Δ U
2
m 1
Δ P1 f m 1 Δ Q 1 f m 1 Δ Pm f m -1 Δ Q m f m -1 Δ Pm 1 f m -1 Δ U
电力系统分析
3.2牛顿-拉夫逊法潮流计算
方程式(15)和(16)具备方程组(12)的形式:
Δ W -J Δ U
(17)
Δe 1 Δf 1 Δe m Δf m ΔU Δe m 1 Δf m 1 Δe n - 1 Δf n - 1
c++牛顿拉夫逊法编程
c++牛顿拉夫逊法编程
以下是使用C++实现牛顿拉夫逊法的算法:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
double f(double x) {
return x * x - 2; // 返回x^2-2
}
double f1(double x) {
return 2 * x; // 返回2x
}
double Newton(double x0) {
double x1 = x0 - f(x0) / f1(x0); // 计算x1
while (abs(x1 - x0) >= 1e-9) { // 当x1与x0的差值小于1e-9时退出循环 x0 = x1; // 更新x0
x1 = x0 - f(x0) / f1(x0); // 计算x1
}
return x1; // 返回近似解
}
int main() {
double n;
cin >> n; // 输入n
cout << Newton(n / 2) << endl; // 输出近似解
return 0;
}
```
在上述代码中,`f(x)`是要求解的非线性方程,`f1(x)`是`f(x)`的导函数,
`Newton(x0)`是牛顿法的函数,`x0`是初始值,`x1`是迭代后的值,`abs(x1 - x0) >= 1e-9`是判断是否达到精度的条件。
牛顿拉夫逊法是一种常用的数值计算方法,可以求解非线性方程的根。
在实际应用中,可以根据具体需求对算法进行修改和扩展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言编写的牛顿拉夫逊法解潮流程序闲来无事,最近把牛拉法用c语言重写一遍,和matlab相比,c语言编写潮流程序最大的难点在于矩阵求逆,我使用的求逆方法是初等行变换法,程序段如下:#include<stdio.h>#define N 3void main(){int i,j,k;float t;float Jacob[N][N]={{1,2,2},{1,3,4},{2,3,4}};//欲进行求逆的矩阵float inv_J[N][N];//逆矩阵存储于此//初始化inv_J[N][N]for(i=0;i<N;i++)for(j=0;j<N;j++){if(i!=j)inv_J[i][j]=0;elseinv_J[i][j]=1;}//将原矩阵化简为对角阵for(i=0;i<N;i++){for(j=0;j<N;j++){if(i!=j){t=Jacob[j][i]/Jacob[i][i];for(k=0;k<N;k++){Jacob[j][k]-=Jacob[i][k]*t;inv_J[j][k]-=inv_J[i][k]*t;}}}}//原矩阵各对角元素化为1,画出逆矩阵for(i=0;i<N;i++)if(Jacob[i][i]!=1){t=Jacob[i][i];for(j=0;j<N;j++)inv_J[i][j]=inv_J[i][j]/t;}//输出逆矩阵for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%9.4f",inv_J[i][j]);printf("\n");}}整个程序为://牛拉法解潮流程序#include<stdio.h>#include<math.h>#define N 4 //节点数#define n_PQ 2 //PQ节点数#define n_PV 1 //PV节点数#define n_br 5 //串联支路数void main(){void disp_matrix(float *disp_p,int disp_m,int disp_n); //矩阵显示函数float Us[2*N]={1.0,0,1.0,0,1.05,0,1.05,0}; //电压初值float Ps[N]={0,-0.5,0.2}; //有功初值float Qs[N]={0,-0.3}; //无功初值float G[N][N],B[N][N]; //各几点电导电纳struct //阻抗参数{int nl; //左节点int nr; //右节点float R; //串联电阻值float X; //串联电抗值float Bl; //左节点并联电导float Br; //右节点并联电纳}ydata[n_br]={{1,2,0,0.1880,-0.6815,0.6040},{1,3,0.1302,0.2479,0.0129,0.0129},{1,4,0.1736,0.3306,0.0172,0.0172},{3,4,0.2603,0.4959,0.0259,0.0259},{2,2,0,0.05,0,0}};float Z2; //Z^2=R^2+X^2 各串联阻抗值的平方float e[N],f[N],dfe[2*(N-1)]; //e,f存储电压的x轴分量和y轴分量,dfe存储电压修正值float mid1[N],mid2[N],dS[2*(N-1)]; //mid1、mid2存储计算雅克比行列式对角线元素的中间值,dS存储PQU的不平衡量float Jacob[2*(N-1)][2*(N-1)],inv_J[2*(N-1)][2*(N-1)]; //雅克比行列式float dPQU=1.0; //PQU不平衡量最大值int kk=0; //迭代次数int i,j,k;float t;float Pij[n_br]; //存储线路i->j的有功float Qij[n_br]; //存储线路i->j的无功float Pji[n_br]; //存储线路j->i的有功float Qji[n_br]; //存储线路j->i的无功float dPij[n_br]; //存储线路i->j的有功损耗float dQij[n_br]; //存储线路i->j的无功损耗float AA,BB,CC,DD; //存储线路潮流计算时的中间值//形成导纳矩阵--------------------------------------------------------------------------------------------------for(i=0;i<N;i++)for(j=0;j<N;j++){G[i][j]=0;B[i][j]=0;}for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);//串联阻抗等效导纳值//非对角元素G[ydata[i].nl-1][ydata[i].nr-1]=(-ydata[i].R)/Z2;B[ydata[i].nl-1][ydata[i].nr-1]=ydata[i].X/Z2;G[ydata[i].nr-1][ydata[i].nl-1]=(-ydata[i].R)/Z2;B[ydata[i].nr-1][ydata[i].nl-1]=ydata[i].X/Z2;//对角元素G[ydata[i].nl-1][ydata[i].nl-1]+=ydata[i].R/Z2;G[ydata[i].nr-1][ydata[i].nr-1]+=ydata[i].R/Z2;B[ydata[i].nl-1][ydata[i].nl-1]+=(-ydata[i].X/Z2);B[ydata[i].nr-1][ydata[i].nr-1]+=(-ydata[i].X/Z2);//并联导纳等效导纳值B[ydata[i].nl-1][ydata[i].nl-1]+=ydata[i].Bl;B[ydata[i].nr-1][ydata[i].nr-1]+=ydata[i].Br;}else{G[ydata[i].nl-1][ydata[i].nr-1]+=ydata[i].R;B[ydata[i].nl-1][ydata[i].nr-1]+=ydata[i].X;}}printf("G=\n");disp_matrix(*G,N,N);printf("B=\n");disp_matrix(*B,N,N);//分离e,ffor(i=0;i<N;i++){e[i]=Us[2*i];f[i]=Us[2*i+1];}//主程序=============================================================================== ======================while(dPQU>0.00001){//计算功率不平衡量for(i=0;i<N-1;i++){mid1[i]=0;mid2[i]=0;for(j=0;j<N;j++){mid1[i]=mid1[i]+G[i][j]*e[j]-B[i][j]*f[j];mid2[i]=mid2[i]+G[i][j]*f[j]+B[i][j]*e[j];}dS[2*i]=Ps[i]-(e[i]*mid1[i]+f[i]*mid2[i]);if(i<n_PQ)dS[2*i+1]=Qs[i]-(f[i]*mid1[i]-e[i]*mid2[i]);elsedS[2*i+1]=Us[2*i]*Us[2*i]-(e[i]*e[i]+f[i]*f[i]);}dPQU=0;for(i=0;i<2*(N-1);i++){if(dS[i]<0&&dPQU<-dS[i])dPQU=-dS[i];else if(dS[i]>0&&dPQU<dS[i])dPQU=dS[i];}if(dPQU>0.00001){kk++;//形成雅克比行列式-------------------------------------------------------------------------------------------------for(i=0;i<2*(N-1);i++)for(j=0;j<2*(N-1);j++)Jacob[i][j]=0;for(j=0;j<N-1;j++){//求H,Nfor(i=0;i<N-1;i++){if(i!=j){Jacob[2*i][2*j]=B[i][j]*e[i]-G[i][j]*f[i];Jacob[2*i][2*j+1]=-G[i][j]*e[i]-B[i][j]*f[i];}else{Jacob[2*i][2*i]=B[i][i]*e[i]-G[i][i]*f[i]-mid2[i];Jacob[2*i][2*i+1]=-G[i][j]*e[i]-B[i][j]*f[i]-mid1[i];}}//求J,Lfor(i=0;i<n_PQ;i++){if(i!=j){Jacob[2*i+1][2*j]=G[i][j]*e[i]+B[i][j]*f[i];Jacob[2*i+1][2*j+1]=B[i][j]*e[i]-G[i][j]*f[i];}else{Jacob[2*i+1][2*i]=G[i][j]*e[i]+B[i][j]*f[i]-mid1[i];Jacob[2*i+1][2*i+1]=B[i][j]*e[i]-G[i][j]*f[i]+mid2[i];}}//求R,Sfor(i=n_PQ;i<N-1;i++){if(i==j){Jacob[2*i+1][2*i]=-2*f[i];Jacob[2*i+1][2*i+1]=-2*e[i];}}}//雅克比行列式求逆-----------------------------------------------------------------------------------for(i=0;i<2*(N-1);i++)for(j=0;j<2*(N-1);j++){if(i!=j)inv_J[i][j]=0;elseinv_J[i][j]=1;}for(i=0;i<2*(N-1);i++){for(j=0;j<2*(N-1);j++){if(i!=j){t=Jacob[j][i]/Jacob[i][i];for(k=0;k<2*(N-1);k++){Jacob[j][k]-=Jacob[i][k]*t;inv_J[j][k]-=inv_J[i][k]*t;}}}}for(i=0;i<2*(N-1);i++)if(Jacob[i][i]!=1){t=Jacob[i][i];for(j=0;j<2*(N-1);j++)inv_J[i][j]=inv_J[i][j]/t;}//求电压修正值--------------------------------------------------------------------------------------------for(i=0;i<2*(N-1);i++){dfe[i]=0;for(j=0;j<2*(N-1);j++)dfe[i]-=inv_J[i][j]*dS[j];}for(i=0;i<N-1;i++){e[i]+=dfe[2*i+1];f[i]+=dfe[2*i];}}elsebreak;}//循环结束---------------------------------------------------------------------------------------------------------------//求平衡节点功率---------------------------------------------------------------------------------------------------mid1[N-1]=0;mid2[N-1]=0;for(j=0;j<N;j++){mid1[N-1]=mid1[N-1]+G[N-1][j]*e[j]-B[N-1][j]*f[j];mid2[N-1]=mid2[N-1]+G[N-1][j]*f[j]+B[N-1][j]*e[j];}Ps[N-1]=e[N-1]*mid1[N-1]+f[N-1]*mid2[N-1];Qs[N-1]=f[N-1]*mid1[N-1]-e[N-1]*mid2[N-1];for(i=n_PQ;i<N-1;i++)Qs[i]=f[i]*mid1[i]-e[i]*mid2[i];//---------------------------------------------------------------------------------------------------------------------------// 显示输出结果printf("kk=%d\n",kk);printf("P=");for(i=0;i<N;i++)printf("%9.4f",Ps[i]);printf("\nQ=");for(i=0;i<N;i++)printf("%9.4f",Qs[i]);printf("\ne=");for(i=0;i<N;i++)printf("%9.4f",e[i]);printf("\nf=");for(i=0;i<N;i++)printf("%9.4f",f[i]);printf("\n");//求线路上的潮流//计算S[i][j]for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);AA=-f[ydata[i].nl-1]*ydata[i].Bl+(e[ydata[i].nl-1]-e[ydata[i].nr-1])*ydata[i].R/Z2+(f[ydata[i].nl-1]-f[ydata[i].nr-1])*ydata[i].X/Z2;BB=-e[ydata[i].nl-1]*ydata[i].Bl-(f[ydata[i].nl-1]-f[ydata[i].nr-1])*ydata[i].R/Z2+(e[ydata[i].nl-1]-e[ydata[i].nr-1])*ydata[i].X/Z2;Pij[i]=e[ydata[i].nl-1]*AA-f[ydata[i].nl-1]*BB;Qij[i]=e[ydata[i].nl-1]*BB+f[ydata[i].nl-1]*AA;printf("S[%d][%d]=%9.4f+j%9.4f\n",ydata[i].nl,ydata[i].nr,Pij[i],Qij[i]);dPij[i]=Pij[i]+Pji[i];dQij[i]=Qij[i]+Qji[i];}}printf("\n");//计算S[j][i]for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){Z2=(ydata[i].R)*(ydata[i].R)+(ydata[i].X)*(ydata[i].X);CC=-f[ydata[i].nr-1]*ydata[i].Br+(e[ydata[i].nr-1]-e[ydata[i].nl-1])*ydata[i].R/Z2+(f[ydata[i].nr-1]-f[ydata[i].nl-1])*ydata[i].X/Z2;DD=-e[ydata[i].nr-1]*ydata[i].Br-(f[ydata[i].nr-1]-f[ydata[i].nl-1])*ydata[i].R/Z2+(e[ydata[i].nr-1]-e[ydata[i].nl-1])*ydata[i].X/Z2;Pji[i]=e[ydata[i].nr-1]*CC-f[ydata[i].nr-1]*DD;Qji[i]=e[ydata[i].nr-1]*DD+f[ydata[i].nr-1]*CC;printf("S[%d][%d]=%9.4f+j%9.4f\n",ydata[i].nr,ydata[i].nl,Pji[i],Qji[i]);}}printf("\n");//计算dS[i][j]for(i=0;i<n_br;i++){if(ydata[i].nl!=ydata[i].nr){dPij[i]=Pij[i]+Pji[i];dQij[i]=Qij[i]+Qji[i];printf("dS[%d][%d]=%9.4f+j%9.4f\n",ydata[i].nl,ydata[i].nr,dPij[i],dQij[i]);}}printf("\n");}//主程序结束//矩阵显示函数=============================================================================== =========================void disp_matrix(float *disp_p,int disp_m,int disp_n){int i,j;for(i=0;i<disp_m;i++){for(j=0;j<disp_n;j++)printf("%9.4f",*(disp_p+i*disp_m+j));printf("\n");}printf("\n");}。