电力系统潮流计算详解
电力系统潮流计算机算法

电力系统潮流计算机算法电力系统潮流计算是电力系统分析中最基本的一项计算,其目的是确定电力系统中各母线电压的幅值和相角、各元件中的功率以及整个系统的功率损耗等。
随着计算机技术的发展,电力系统潮流计算算法也在不断更新和完善。
以下是电力系统潮流计算的一些常用算法:1. 牛顿-拉夫逊法(Newton-Raphson Method):这是一种求解非线性方程组的方法,应用于电力系统潮流计算中。
该方法在多数情况下没有发散的危险,且收敛性较强,可以大大节约计算时间,因此得到了广泛的应用。
2. 快速迪科法(Fast Decoupled Method):这是一种高效的电力系统潮流计算方法,将电力系统分为几个子系统进行计算,从而提高了计算速度。
3. 最小二乘法(Least Squares Method):这是一种用于求解线性方程组的方法,通过最小化误差平方和来获得最优解。
在电力系统潮流计算中,可用于优化电压幅值和相角。
4. 遗传算法(Genetic Algorithm):这是一种全局优化搜索算法,应用于电力系统潮流计算中,可以解决一些复杂和非线性问题。
5. 粒子群优化算法(Particle Swarm Optimization):这是一种启发式优化算法,通过模拟鸟群觅食行为来寻找最优解。
在电力系统潮流计算中,可用于优化网络参数和运行条件。
6. 模拟退火算法(Simulated Annealing):这是一种全局优化搜索算法,应用于电力系统潮流计算中,可以在较大范围内寻找最优解。
7. 人工神经网络(Artificial Neural Network):这是一种模拟人脑神经网络的计算模型,可用于电力系统潮流计算。
通过训练神经网络,可以实现对电力系统中复杂非线性关系的建模和预测。
以上所述算法在电力系统潮流计算中起着重要作用,为电力系统运行、设计和优化提供了有力支持。
同时,随着计算机技术的不断发展,未来还将出现更多高效、精确的电力系统潮流计算算法。
第三章简单电力系统的潮流计算

~ S LDc
j
B2 2
U
2 N
S~b
S~LDb
j
B1 2
U
2 N
j
B2 2
U
2 N
由此将问题转化为:已知
U A ,
j
B1 2
U
2 N
,
S~b ,
S~c
的潮流计算。
~
A SA
~ S1
S~1
S~1
b
~ S2
S~2
S~2
c
U A
Z1
Z2
a.反推功率:
j
B1 2
UHale Waihona Puke 2 NS~bS~c
~ S1
①
S~1
S~2
I1
I1 Z
B j
S~Y 1
2
S~2 ②
I2
B j
2
~ S2
U 2
S~Y 2
求导纳中的功 率损耗S~Y1,S~Y 2;
末端:S~Y 2
U 2
(
j
B 2
U 2 )
j
B 2
U
2 2
首端:S~Y 1
U 1
(
j
B 2
U1 )
jB
~ S LD
30
j15MVA
2
~ SY 2
已知 r1 0.27 / km, x1 0.423 / km
b1 2.69 106 s / km, l 150km, 双回线路
解:R 1 0.27150 20.25 X 1 0.423150 31.725
电力系统潮流计算

电力系统潮流计算电力系统潮流计算是电力系统运行分析中的重要环节。
它通过对电力系统中各节点的电压、相角以及功率等参数进行计算和分析,从而得出电力系统的稳态运行状态。
本文将从潮流计算的基本原理、计算方法、应用及其发展等方面进行阐述。
一、潮流计算的基本原理电力系统潮流计算的基本原理是基于潮流方程建立的。
潮流方程是一组非线性的方程,描述了电力系统中各节点的电压、相角以及功率之间的关系。
潮流计算的目的就是求解这组非线性方程,以确定电力系统的电压幅值、相角及有功、无功功率的分布情况。
二、潮流计算的基本方法潮流计算的基本方法主要有直接法、迭代法以及牛顿-拉夫逊法。
直接法是通过直接求解潮流方程得到电力系统的潮流状况,但对于大规模复杂的电力系统来说,直接法计算复杂度高。
迭代法是通过对电力系统的节点逐个进行迭代计算,直到满足预设的收敛条件。
牛顿-拉夫逊法是一种较为高效的迭代法,它通过近似潮流方程的雅可比矩阵,实现了计算的高效和稳定。
三、潮流计算的应用潮流计算在电力系统运行与规划中起着重要作用。
首先,潮流计算可以用于电力系统的稳态分析,确定电力系统在各种工况下的电压、相角等参数,以判断电力系统是否存在潮流拥挤、电压失调等问题。
其次,潮流计算还可以用于电力系统的优化调度,通过调整电力系统的发电机出力、负荷组织等参数,以改善电力系统的经济性和可靠性。
此外,潮流计算还可以用于电力系统规划,通过对电力系统进行潮流计算,可以为新建电源、输电线路以及变电站等设备的规划和选择提供科学依据。
四、潮流计算的发展随着电力系统的规模不断扩大和复杂度的提高,潮流计算技术也得到了迅速的发展。
传统的潮流计算方法在计算效率和计算精度上存在一定的局限性。
因此,近年来研究者提出了基于改进的迭代方法、高精度的求解算法以及并行计算等技术,以提高潮流计算的速度和准确性。
此外,随着可再生能源的不断融入电力系统,潮流计算还需要考虑多种能源的互联互通问题,这对潮流计算提出了新的挑战,需要进一步的研究和改进。
简单电力系统分析潮流计算

简单电力系统分析潮流计算电力系统潮流计算是电力系统分析中的一项重要任务。
其目的是通过计算各个节点的电压、电流、有功功率、无功功率等参数,来确定系统中各个元件的运行状态和互相之间的相互影响。
本文将介绍电力系统潮流计算的基本原理、计算方法以及应用。
潮流计算的基本原理是基于电力系统的节点电压和支路功率之间的网络方程。
通过对节点电压进行迭代计算,直到满足所有支路功率平衡方程为止,得到系统的运行状态。
潮流计算的基本问题可以表示为以下方程组:P_i = V_i * (G_i * cos(θ_i - θ_j ) + B_i * sin(θ_i -θ_j )) - V_j * (G_i * cos(θ_i - θ_j ) - B_i * sin(θ_i -θ_j )) (1)Q_i = V_i * (G_i * sin(θ_i - θ_j ) - B_i * cos(θ_i -θ_j )) - V_j * (G_i * sin(θ_i - θ_j ) + B_i * cos(θ_i -θ_j )) (2)其中,P_i为节点i的有功功率注入;Q_i为节点i的无功功率注入;V_i和θ_i分别为节点i的电压幅值和相角;V_j和θ_j分别为节点j的电压幅值和相角;G_i和B_i分别为支路i的导纳的实部和虚部。
对于一个电力系统,如果知道了节点注入功率和线路的导纳,就可以通过潮流计算求解出各节点的电压和功率。
这是一种不断迭代的过程,直到系统达到平衡状态。
潮流计算的方法有多种,常见的有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法等。
其中,高斯-赛德尔迭代法是最常用的一种方法。
高斯-赛德尔迭代法的思想是从已知节点开始,逐步更新其他节点的电压值,直到所有节点的电压值收敛为止。
具体步骤如下:1.初始化所有节点电压的初始值;2.根据已知节点的注入功率和节点电压,计算其他节点的电压值;3.判断节点电压是否收敛,如果收敛则结束计算,否则继续迭代;4.更新未收敛节点的电压值,返回步骤2高斯-赛德尔迭代法的优点是简单有效,但其收敛速度较慢。
电力系统潮流计算

电力系统潮流计算引言电力系统潮流计算是电力系统分析中的重要环节。
通过潮流计算,可以确定电力系统中各个节点的电压和电流分布,从而评估系统的稳定性、负载能力以及潮流路径等重要参数。
本文将介绍电力系统潮流计算的基本原理、常用的计算方法以及相关的软件工具。
潮流计算原理电力系统潮流计算基于基尔霍夫电流法和功率-电压关系理论。
在潮流计算中,电力系统被建模为一个复杂的电路网络,其中各个节点表示发电机、负载和变电站等设备。
通过求解节点间的电压和电流,可以得到系统各个节点的电压和电流分布情况。
潮流计算方法直流潮流计算直流潮流计算是潮流计算中最简单和最常用的方法。
在直流潮流计算中,电力系统中的电流和电压被假设为恒定的直流量。
这种方法适用于传输系统和简单的配电网。
直流潮流计算的基本步骤包括建立节点电压方程、定义线路参数、计算线路功率损耗和节点电压。
交流潮流计算交流潮流计算是潮流计算中更为复杂的方法,它考虑了网络中的电压相位差和无功功率流动。
在交流潮流计算中,电力系统的节点电压和变压器的变比可以变化。
这种方法适用于复杂的电力系统,能够更准确地模拟实际情况。
交流潮流计算的基本步骤包括建立节点功率方程、定义节点电压相位差、计算线路功率和节点电压。
潮流计算软件潮流计算是一项复杂且计算量大的工作,需要借助计算机软件来实现。
以下是一些常用的潮流计算软件:1.PSS/E:由Siemens开发的电力系统潮流计算软件,功能强大且广泛使用。
2.PowerWorld Simulator:一款商业化的电力系统仿真软件,可以进行潮流计算、稳定性分析和故障分析等。
3.MATLAB/Simulink:MATLAB提供了强大的数值计算和仿真功能,可以用于电力系统潮流计算和建模。
结论电力系统潮流计算是电力系统分析中的重要环节,可以帮助我们了解系统的运行状态和性能。
直流潮流计算和交流潮流计算是常用的潮流计算方法,可以根据系统的复杂程度和要求选择合适的方法。
电力系统分析潮流计算

电力系统分析潮流计算电力系统分析是对电力系统运行状态进行研究、分析和评估的一项重要工作。
其中,潮流计算是电力系统分析的一种重要方法,用于计算电力系统中各节点的电压、功率和电流等参数。
本文将详细介绍电力系统潮流计算的原理、方法和应用。
一、电力系统潮流计算的原理电力系统潮流计算是基于潮流方程的求解,潮流方程是描述电力系统各节点电压和相角之间的关系的一组非线性方程。
潮流方程的基本原理是基于电力系统的等效导纳矩阵和节点电压相位差的关系,通过潮流计算可以得到电力系统各节点的电压和功率等参数。
电力系统潮流方程的一般形式如下:\begin{align*}P_i &= \sum_{j=1}^{n}(V_iV_j(G_{ij}\cos(\theta_i-\theta_j)+B_{ij}\sin(\theta_i-\theta_j))) \\Q_i &= \sum_{j=1}^{n}(V_iV_j(G_{ij}\sin(\theta_i-\theta_j)-B_{ij}\cos(\theta_i-\theta_j)))\end{align*}其中,$n$为节点数,$P_i$和$Q_i$表示第i个节点的有功功率和无功功率。
$V_i$和$\theta_i$表示第i个节点的电压和相角。
$G_{ij}$和$B_{ij}$表示节点i和节点j之间的等效导纳。
二、电力系统潮流计算的方法电力系统潮流计算的方法主要包括直接法、迭代法和牛顿-拉夫逊法等。
1.直接法:直接法是一种适用于小规模电力系统的潮流计算方法,它通过直接求解潮流方程来计算电力系统的潮流。
直接法的计算速度快,但对系统规模有一定的限制。
2.迭代法:迭代法是一种常用的潮流计算方法,通常使用高尔顿法或牛顿法。
迭代法通过迭代求解潮流方程来计算电力系统的潮流。
迭代法相对于直接法来说,可以适用于大规模电力系统,但计算时间较长。
3.牛顿-拉夫逊法:牛顿-拉夫逊法是一种高效的潮流计算方法,它通过求解潮流方程的雅可比矩阵来进行迭代计算,可以有效地提高计算速度。
电力系统的潮流计算

电力系统的潮流计算电力系统的潮流计算是电力系统分析中的基础工作,主要用于计算电力系统中各节点的电压和功率流动情况。
通过潮流计算可以得到电力系统的电压、功率、功率因数等关键参数,为电力系统的运行和规划提供有效的参考依据。
本文将介绍电力系统潮流计算的基本原理、计算方法和应用。
一、电力系统潮流计算的基本原理电力系统潮流计算基于电力系统的能量守恒原理和基尔霍夫电流定律,通过建立电力系统的节点电压和功率平衡方程组来描述系统中各节点间的电压和功率流动关系。
潮流计算的基本原理可简述为以下三个步骤:1.建立节点电压方程:根据基尔霍夫电流定律,将电力系统中各节点的电流状况表达为节点电压和导纳矩阵之间的乘积关系。
2.建立功率平衡方程:根据能量守恒原理,将电力系统中各支路的功率流动表达为节点电压和导纳矩阵之间的乘积关系。
3.解算节点电压:通过求解节点电压方程组,得到系统中各节点的电压值。
二、电力系统潮流计算的常用方法电力系统潮流计算常用的方法有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法和快速潮流法等。
其中,高斯-赛德尔迭代法是一种基于节点电压的迭代算法,通过在每一次迭代中更新节点电压值来逐步逼近系统潮流平衡状态。
牛顿-拉夫逊迭代法是一种基于节点电压和节点功率的迭代算法,通过在每一次迭代中同时更新节点电压和节点功率值来逼近系统潮流平衡状态。
快速潮流法则是一种通过行列式运算直接求解节点电压的方法,对于大规模复杂的电力系统具有较高的计算效率和精度。
三、电力系统潮流计算的应用电力系统潮流计算在电力系统的规划和运行中有广泛应用。
具体应用包括:1.电力系统规划:通过潮流计算可以预测系统中各节点的电压和功率流动情况,为电力系统的设计和扩建提供参考依据。
2.电力系统稳定性分析:潮流计算可以帮助分析系统中节点电压偏差、功率瓶颈等问题,为系统的稳态和暂态稳定性分析提供基础数据。
3.运行状态分析:潮流计算可以实时监测系统中各节点的电压和功率流动情况,为电力系统的运行调度提供参考。
电力系统潮流计算与分析

电力系统潮流计算与分析概述:电力系统潮流计算与分析是电力系统运行中的重要步骤,它涉及到对电力系统的节点电压、线路潮流以及功率损耗等进行精确计算和分析的过程。
通过潮流计算和分析,电力系统运行人员可以获得关键的运行参数,从而保持电力系统的稳定运行。
本文将从潮流计算的基本原理、计算方法、影响因素以及潮流分析的实际应用等方面进行论述。
潮流计算的基本原理:潮流计算的基本原理是基于电力系统的节点电压和线路潮流之间的平衡关系进行计算。
在电力系统中,电源会向负载供电,而线路损耗会导致电压降低。
潮流计算就是要确定电力系统中各个节点的电压和线路潮流,以保持系统的稳定运行。
通过潮流计算,可以得到节点电压、线路潮流以及负荷功率等关键参数。
潮流计算的方法:潮流计算可以分为迭代法和直接法两种方法。
1. 迭代法:迭代法是潮流计算中最常用的方法,它基于电力系统的牛顿—拉夫逊法(Newton-Raphson method)来进行计算。
迭代法的基本步骤如下:a. 假设节点电压的初值;b. 根据节点电压初值和电力系统的潮流方程建立节点电流方程组;c. 利用牛顿—拉夫逊法迭代求解节点电压;d. 判断是否满足收敛条件,如果不满足,则返回第二步重新计算,直至满足收敛条件。
2. 直接法:直接法是潮流计算中的另一种方法,它基于电力系统的潮流松弛法(Gauss-Seidel method)来进行计算。
直接法的基本步骤如下:a. 假设节点电压的初值;b. 根据节点电压初值和电力系统的潮流方程,按照节点顺序逐步计算节点电压;c. 判断是否满足收敛条件,如果不满足,则返回第二步重新计算,直至满足收敛条件。
影响潮流计算的因素:1. 负荷:电力系统中的负荷是潮流计算中的重要因素之一,负荷的变化会导致节点电压和线路潮流的波动。
因此,在进行潮流计算时,需要准确地估计各个节点的负荷。
2. 发电机:发电机是电力系统的电源,它的输出功率和电压会影响潮流计算中的节点电压和线路潮流。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先声明一下,这些是从网站上转载的,不是本人上编写的基于MATLAB的电力系统潮流计算%简单潮流计算的小程序,相关的原始数据数据数据输入格式如下:%B1是支路参数矩阵,第一列和第二列是节点编号。
节点编号由小到大编写%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点%编号,将变压器的串联阻抗置于低压侧处理。
%第三列为支路的串列阻抗参数。
%第四列为支路的对地导纳参数。
%第五烈为含变压器支路的变压器的变比%第六列为变压器是否是否含有变压器的参数,其中“1”为含有变压器,%“0”为不含有变压器。
%B2为节点参数矩阵,其中第一列为节点注入发电功率参数;第二列为节点%负荷功率参数;第三列为节点电压参数;第六列为节点类型参数,其中%“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数。
%X为节点号和对地参数矩阵。
其中第一列为节点编号,第二列为节点对地%参数。
n=input('请输入节点数:n=');n1=input('请输入支路数:n1=');isb=input('请输入平衡节点号:isb=');pr=input('请输入误差精度:pr=');B1=input('请输入支路参数:B1=');B2=input('请输入节点参数:B2=');X=input('节点号和对地参数:X=');Y=zeros(n);Times=1; %置迭代次数为初始值%创建节点导纳矩阵for i=1:n1if 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));endendYOrgS=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)==2h=h+1;for j=1:nOrgS(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)))+im ag(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(B 2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:n %对PV节点的处理,注意这时不可再将h初始化为0 if i~=isb&B2(i,6)==3h=h+1;for j=1:nOrgS(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)))+im ag(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(B 2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendOrgS%创建PVU 用于存储PV节点的初始电压PVU=zeros(n-h-1,1);t=0;for i=1:nif B2(i,6)==3t=t+1;PVU(t,1)=B2(i,3);endendPVU%创建DetaS,用于存储有功功率、无功功率和电压幅值的不平衡量h=0;for i=1:n %对PQ节点的处理if i~=isb&B2(i,6)==2h=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);endendt=0;for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0 if i~=isb&B2(i,6)==3h=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;endendDetaS%创建I,用于存储节点电流参数i=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));endendI%创建Jacbi(雅可比矩阵)Jacbi=zeros(2*n-2);h=0;k=0;for i=1:n %对PQ节点的处理if B2(i,6)==2h=h+1;for j=1:nif j~=isbk=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-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);endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendendk=0;for i=1:n %对PV节点的处理if B2(i,6)==3h=h+1;for j=1:nif j~=isbk=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 %非对角元素的处理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;endif k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行k=0;endendendendendJacbi%求解修正方程,获取节点电压的不平衡量DetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS;DetaU%修正节点电压j=0;for i=1:n %对PQ节点处理if B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:n %对PV节点的处理if B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendB2%开始循环**********************************************************************while abs(max(DetaU))>prOrgS=zeros(2*n-2,1); %!!!初始功率参数在迭代过程中是不累加的,所以在这里必须将其初始化为零矩阵h=0;j=0;for i=1:nif i~=isb&B2(i,6)==2h=h+1;for j=1:nOrgS(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)))+im ag(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(B 2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendfor i=1:nif i~=isb&B2(i,6)==3h=h+1;for j=1:nOrgS(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)))+im ag(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(B 2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));endendendOrgS%创建DetaSh=0;for i=1:nif i~=isb&B2(i,6)==2h=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);endendt=0;for i=1:nif i~=isb&B2(i,6)==3h=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;endendDetaS%创建Ii=zeros(n-1,1);h=0;for i=1:nif i~=isbh=h+1;I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));endendI%创建JacbiJacbi=zeros(2*n-2);h=0;k=0;for i=1:nif B2(i,6)==2h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(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-1,2*k-1)-2*imag(I(h,1));elseJacbi(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);endif k==(n-1)k=0;endendendendendk=0;for i=1:nif B2(i,6)==3h=h+1;for j=1:nif j~=isbk=k+1;if i==jJacbi(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));elseJacbi(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;endif k==(n-1)k=0;endendendendendJacbiDetaU=zeros(2*n-2,1);DetaU=inv(Jacbi)*DetaS;DetaU%修正节点电压j=0;for i=1:nif B2(i,6)==2j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendfor i=1:nif B2(i,6)==3j=j+1;B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);endendB2Times=Times+1; %迭代次数加1endTimes一个原始数据的例子节点数5支路数5平衡节点编号5精度pr 0.000001B1(支路参数矩阵)[1 2 0.04+0.25i 0.5i 1 0;1 3 0.1+0.35i 0 1 0;2 3 0.08+0.30i 0.5i 1 0;4 2 0.015i 0 1.05 1;5 3 0.03i 0 1.05 1]B2(节点参数矩阵)[0 -1.6-0.8i 1 0 0 2;0 -2-1i 1 0 0 2;0 -3.7-1.3i 1 0 0 2;0 5+0i 1.05 1.05 0 3;0 0 1.05 1.05 0 1]X(节点号和对地参数)[1 0;2 0;3 0;4 0;5 0]程序2:%本程序采用牛顿-拉夫讯法对一个五节点电力系统进行潮流计算% n=input('请输入系统节点数目:n=');% nl=input('请输入系统支路数目:nl=');% ph=input('请输入平衡节点号:ph=');% jd=input('请输入误差精度:jd=');% B=input('请输入由支路参数形成的矩阵:B=');% A=input('请输入各节点参数形成的矩阵:A='); clear alln=5;nl=5;ph=5;jd=1E-6;%支路参数矩阵Br=[1 2 0.04+0.25*j 0.25j 1;1 3 0.1+0.35*j 0 1;2 3 0.08+0.30*j 0.25*j 1;2 4 0.015*j 0 1.05;3 5 0.03*j 0 1.05];%节点参数矩阵:2-PQ节点,3-PV节点,4-平衡节点A=[-1.6-0.8*j 1 0 2;-2-1*j 1 0 2;-3.7-1.3*j 1 0 2;5 1.05 1.05 3;0 1.05 0 4];%雅克比矩阵形成Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);for i=1:nlp=Br(i,1);q=Br(i,2);Y(p,q)=Y(p,q)-1./(Br(i,3)*Br(i,5));Y(q,p)=Y(p,q);Y(q,q)=Y(q,q)+1./(Br(i,3))+Br(i,4);Y(p,p)=Y(p,p)+1./(Br(i,3)*Br(i,5)^2)+Br(i,4);enddisp('节点导纳矩阵为:Y=');disp(Y);G=real(Y);B=imag(Y);for i=1:ne(i)=real(A(i,2));f(i)=imag(A(i,2));V(i)=A(i,3);endfor i=1:nS(i)=A(i);endP=real(S);Q=imag(S);%雅克比矩阵求取Ci=0;a=1;NO=2*n;N=NO-1;while a~=0a=0;for i=1:nif i~=phC(i)=0;D(i)=0;for p=1:nC(i)=C(i)+G(i,p)*e(p)-B(i,p)*f(p);D(i)=D(i)+G(i,p)*f(p)+B(i,p)*e(p);endP1=e(i)*C(i)+f(i)*D(i);Q1=f(i)*C(i)-e(i)*D(i);V2=e(i)^2+f(i)^2;if A(i,4)~=3DP=P(i)-P1;DQ=Q(i)-Q1;for k=1:n%非平衡节点时,非对角线元素if k~=ph & k~=iX1=-G(i,k)*f(i)+B(i,k)*e(i);X2=-G(i,k)*e(i)-B(i,k)*f(i);X3=-X2;X4=X1;p=2*i-1;q=2*k-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 k~=ph & k==iX1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);X2=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);X3=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);X4=D(i)+B(i,i)*e(i)-G(i,i)*f(i);p=2*i-1;q=2*k-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;endendelseDP=P(i)-P1;DV=V(i)^2-V2;for s=1:nif s~=ph & s~=iX1=-G(i,s)*f(i)+B(i,s)*e(i);X2=-G(i,s)*e(i)-B(i,s)*f(i);X5=0;X6=0;p=2*i-1;q=2*s-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 s~=ph & s==iX1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);X2=-C(i)-G(i,s)*e(i)-B(i,s)*f(i);X5=-2*f(i);X6=-2*e(i);p=2*i-1;q=2*s-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;endendendendenddisp('系统雅克比矩阵为:J=');disp(J);%对于高压电力系统,最大元素出现在对角线位置,简单计算如下DJ=J(:,[1:NO-2]);DP=J([1:NO-2],N);DU=DJ\DP;disp('************************************');disp(' ')disp('第几次的修正值DU?');disp(Ci);disp('***********************************');disp(DU);for i=1:NO-2eps=abs(DP(i));if eps>=jd;a=a+1;endendCi=Ci+1;for i=1:n-1e(i)=e(i)-DU(2*i);f(i)=f(i)-DU(2*i-1);endE=e+j*f;disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');disp(' ');disp('第几次迭代后的近似计算值');disp(Ci);disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');for i1=1:nV(i1)=sqrt(e(i1)^2+f(i1)^2);ANGLE(i1)=atan(f(i1)./e(i1))*(180./pi);end%下列输出结果均按节点号从小到大排列disp('各个节点的电压实际值为:E=');disp(E);disp('各个节点电压幅值为:V=');disp(V);disp('各个节点的电压相交为:ANGLE=');disp(ANGLE);disp('各个节点的功率误差变化');disp(J([1:8],9)');MDU(Ci)=max(abs(J([1:8],9)'));for p=1:nSm(p)=0;for q=1:nSm(p)=Sm(p)+conj(Y(p,q))*conj(E(q));endS(i)=E(p)*Sm(p);endenddisp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @'); disp(' ');disp('计算的最终功率近似值如下各项值');disp(' ');disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @'); disp('各个节点功率为:S=');disp(S);disp('各条支路的首端功率Si为:');for i=1:nlp=Br(i,1);q=Br(i,2);A(i)=E(p)*[conj(E(p))-conj(E(q))]*conj(1./(Br(i,3)));SBS(i)=[abs(E(p))]^2*conj(Br(i,4))+A(i);enddisp(SBS);disp('各条支路的末端功率Sj为:');for i=1:nlp=Br(i,1);q=Br(i,2);A2=E(q)*[conj(E(q))-conj(E(p))]*conj(1./(Br(i,3)));SBE(i)=[abs(E(q))]^2*conj(Br(i,4))+A2;enddisp(SBE);disp('各条支路的功率损耗为:');for i=1:nlp=Br(i,1);q=Br(i,2);SBL(i)=SBS(i)+SBE(i);enddisp(SBL);%绘制功率误差曲线,先用最小二乘法进行曲线拟合for i=1:CiCSH(i)=i;endP=polyfit(CSH,MDU,3);plot(CSH,MDU,'-O')。