PQ分解法计算大电网潮流程序

合集下载

电力系统潮流计算pq法及程序

电力系统潮流计算pq法及程序
2、学习 MATLAB 编程方法,完成潮流程序,通过算例考核。 3、掌握科技文献查阅和科技论文写作的方法。 4 利用因子表、稀疏技术以及 MATLAB 特点等提高计算性能(选做)。
三、设计(论文)成品要求
1、毕业设计说明书(论文)1 份; 2、外文翻译资料 1 份(不少于 3000 汉字); 3、MATLAB 潮流软件 1 份。
班级 2 班
指 导 教 师 刘宪林 单位 电气工程系 职称 教授
校外指导教师
单位——————————————
职称——————————
题目 带二阶项的快速潮流研究
一、毕业设计(论文)内容 对带二阶项的快速潮流进行研究,编制相应程序。
二、毕业设计(论文)应达到的主要指标 1、学习带二阶项的快速潮流的概念和模型。
教研室主任——————————
II
主管院长———————
王刚:带二阶项的快速潮流研究
摘要
在简要分析了电网常规潮流算法的基础上,选择带二阶项的快速潮流算法进 行研究。该算法包含传统的带二阶项的快速潮流算法和一种改进的带二阶项的快 速潮流算法,既适用于高压电网也适用于各种复杂的配电网。改进的带二阶项快 速潮流算法应用矩阵分块求逆方法对阶数较高的雅克比阵求逆计算进行了改进, 使阶数较高的雅克比阵的求逆变为阶数较低的四个子阵的求逆,从而简化了求逆计 算。基于传统的带二阶项的快速潮流算法编写了潮流计算软件,并使用算例对带 二阶项的快速潮流算法和牛顿-拉夫逊算法就计算特性等方面进行了比较。结果表 明,带二阶项的快速潮流算法具有较高的计算速度。 关键词: 潮流计算,二阶项,配电网
四、参考资料
[1] 王锡凡主编.现代电力系统分析.北京:科学出版社,2003 年 [2] 王祖佑主编.电力系统稳态运行计算机分析.北京:水利电力出版社,1987 年 *自行查阅其他相关中外文文献

pq分解法计算潮流步骤

pq分解法计算潮流步骤

PQ分解法是一种用于电力系统潮流计算的算法,它将节点功率方程中的有功功率(P)和无功功率(Q)分离,从而简化了计算过程。

以下是PQ分解法计算潮流的基本步骤:
1. 建立节点功率方程:对于电力系统的每个节点,根据系统的拓扑结构和参数,建立节点功率方程。

这些方程通常表示为电压幅值和相角的函数。

2. 初始潮流假设:为每个节点的电压幅值和相角设置初始值。

这些初始值可以是基于系统的额定值或通过预计算得到的。

3. PQ分解:将节点功率方程中的有功功率(P)和无功功率(Q)分离。

这通常涉及到对节点功率方程进行线性化处理,以便将P和Q表示为电压幅值和相角的函数。

4. 迭代求解:使用迭代方法(如牛顿-拉夫森迭代法)来逐步求解节点电压幅值和相角。

在每次迭代中,都会更新P和Q的值,并重新计算节点电压。

5. 收敛判断:判断当前迭代是否收敛,即节点电压的变化是否小于预定的阈值。

如果未达到收敛条件,则继续进行迭代。

6. 输出结果:当迭代收敛后,输出每个节点的电压幅值和相角,以及系统的潮流分布情况。

7. 后处理:根据需要,对计算结果进行后处理,例如计算线路的功率损耗、检查系统的稳定性等。

PQ分解法相比于其他潮流计算方法(如牛顿-拉夫森法)的主要优势在于它能够减少计算量,特别是在处理大型电力系统时。

这是因为PQ分解法将复杂的节点功率方程分解为两个独立的方程组,分别求解有功功率和无功功率,从而降低了计算复杂性。

(完整word版)PQ分解法计算潮流

(完整word版)PQ分解法计算潮流

一、PQ 分解法的原理P —Q 分解法是牛顿-拉夫逊法潮流计算的一种简化方法。

P-Q 分解法利用了电力系统的一些特有的运行特性,对牛顿-拉夫逊法做了简化,以改进和提高计算速度。

的基本思想是根据电力系统实际运行特点:通常网络上的电抗远大于电阻,则系统母线电压幅值的微小变化对用功功率的改变影响很小。

同样,母线电压相角的的改变对无功功率的影响较小.因此,节点功率方程在用极坐标形式表示时。

它的修正方程式可简化为:00P H Q L U U θ∆∆⎡⎤⎡⎤⎡⎤=⎢⎥⎢⎥⎢⎥∆∆⎣⎦⎣⎦⎣⎦将P 、Q 分开来迭代计算,因此大大地减少了计算工作量.但是H 、L 在迭代过程中仍将不断变化,而且又都是不对称矩阵。

对牛顿法的进一步简化。

为把上式中的系数矩阵简化成迭代过程中不变的对称矩阵。

在一般情况下线路两端的电压相角ij θ是不大的,因此可以认为:cos 1sin ij ij ijijG B θθ≈2ii ii Q U B考虑到上述关系,可以得到:ij i ij j ij i ij jH U B U L U B U ==节点的功率增量为:11(cos sin )(sin cos )ni is i j ij ij ij ij j ni is i j ij ij ij ij j P P U U G B Q Q U U G B θθθθ==∆=-+∆=--∑∑P —Q 分解法的特点:以一个n-1阶和一个n —m —1阶线性方程组代替原有的2n —m —1阶线性方程组;修正方程的系数矩阵B'和B”为对称常数矩阵,且在迭代过程中保持不变;P —Q 分解法具有线性收敛特性,与牛顿—拉夫逊法相比,当收敛到同样的精度时需要的迭代次数较多。

二、程序说明1.数据说明Branch1。

txt:支路参数矩阵第1列为支路的首端编号;第2列为支路的末端编号(首端编号小于末端编号);第3列为之路的阻抗;第4为支路的对地容抗;第5列为支路的变比;第6列为折算到那一侧的标志Branch2。

ieee30pq分解法潮流计算

ieee30pq分解法潮流计算

ieee30pq分解法潮流计算潮流计算是电力系统中十分重要的一项分析工作,用于计算电力系统中各个节点的电压幅值和相角,以及各个支路的电流大小和相角。

这对于电力系统的运行和调度具有重要意义。

IEEE30PQ系统是一个经典的潮流计算案例,该系统有30个节点,其中包括负荷节点(PQ节点)和发电机节点(PV节点)。

以下将详细介绍IEEE30PQ系统的潮流计算方法。

一、潮流计算预备工作在进行潮流计算之前,需要对电力系统进行建模。

首先,将各个节点连接成一个拓扑结构,构成潮流计算图。

其次,确定系统中的潮流方向和节点类型。

IEEE30PQ系统中,负荷节点为PQ节点,发电机节点为PV节点。

同时,还需要确定各个节点的初始电压值和相角。

二、节点功率方程根据潮流计算的目标,可以得到节点功率方程。

在IEEE30PQ系统中,各个节点的功率方程可以表示为:节点m是PQ节点:Pm = Vm * ∑(Vm * Gkm * cos(θm - θk) + Vm * Bkm * sin(θm- θk))Qm = -Vm * ∑(Vm * Gkm * sin(θm - θk) - Vm * Bkm * cos(θm - θk))节点m是PV节点:Pm = Vm * ∑(Vm * Gkm * cos(θm - θk) + Vm * Bkm * sin(θm- θk))其中,Pm和Qm分别表示节点m的有功功率和无功功率,Vm和θm分别表示节点m的电压和相角,Gkm和Bkm分别表示节点m和节点k之间的导纳。

三、雅可比矩阵为了求解节点功率方程,需要构建雅可比矩阵。

雅可比矩阵是由节点功率方程对电压和相角的一阶导数构成的矩阵。

在IEEE30PQ系统中,节点功率方程包含有功和无功两种功率,因此雅可比矩阵也是一个2n×2n的矩阵。

其中,n为节点的数量。

四、潮流计算算法潮流计算可以采用迭代的方法,使节点功率方程逐步趋近于收敛。

其中,最常用的潮流计算算法是牛顿-拉夫逊法(Newton-Raphson)和高斯-赛德尔法(Gauss-Seidel)法。

电力系统潮流分析与计算设计(P Q分解法)

电力系统潮流分析与计算设计(P Q分解法)

电力系统潮流分析与计算设计(P Q分解法)电力系统潮流分析与计算设计(p-q分解法)摘要潮流排序就是研究电力系统的一种最基本和最重要的排序。

最初,电力系统潮流排序就是通过人工手算的,后来为了适应环境电力系统日益发展的须要,使用了交流排序台。

随着电子数字计算机的发生,1956年ward等人基本建设了实际可取的计算机潮流排序程序。

这样,就为日趋繁杂的大规模电力系统提供更多了极其有力的排序手段。

经过几十年的时间,电力系统潮流排序已经发展得十分明朗。

潮流排序就是研究电力系统稳态运转情况的一种排序,就是根据取值的运转条件及系统接线情况确认整个电力系统各个部分的运转状态,例如各母线的电压、各元件中穿过的功率、系统的功率损耗等等。

电力系统潮流排序就是排序系统动态平衡和静态平衡的基础。

在电力系统规划设计和现有电力系统运转方式的研究中,都须要利用电力系统潮流排序去定量的比较供电方案或运转方式的合理性、可靠性和经济性。

电力系统潮流计算分为离线计算和在线计算,离线计算主要用于系统规划设计、安排系统的运行方式,在线计算则用于运行中系统的实时监测和实时控制。

两种计算的原理在本质上是相同的。

实际电力系统的潮流技术主要使用pq水解法。

1974年,由scottb.在文献(@)中首次提出pq分解法,也叫快速解耦法(fastdecoupledloadflow,简写为fdlf)。

本设计就是使用pq水解法排序电力系统潮流的。

关键词:电力系统潮流排序pq水解法第一章概论1.1详述电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它是根据给定的运行条件及系统接线情况确定整个电力系统各个部分的运行状态,如各母线的电压、各元件中流过的功率、系统的功率损耗等等。

电力系统潮流计算是计算系统动态稳定和静态稳定的基础。

在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用电力系统潮流计算来定量的比较供电方案或运行方式的合理性、可靠性和经济性。

PQ分解法

PQ分解法

4 P-Q 分解法潮流计算 4.1P-Q 分解法的基本原理P-Q 分解法是从简化一极坐标表示的牛顿-拉夫逊法潮流修正方程基础上派生出来的,考虑到了电力系统本身的特点。

牛顿法潮流计算的核心是求解修正方程式。

当节点功率方程式采用极坐标系统时,修正方程式为[∆P ∆Q ]=[H N J L ][∆δ∆U/U ] (4.1)将其展开为{∆P =H∆δ+N(∆U/U)∆Q =J∆δ+L(∆U/U)(4.2) 对修正方程式的第一步简化是:计及电力网络中各元件的电抗远大于电阻,以致各节点电压相位角的改变主要影响各元件中的有功功率及各节点的注入有功功率;各节点电压大小的改变主要影响元件中的无功功率以及各节点的注入无功功率;式(4.2)中子阵N 及J 中各元素的数值相对很小,因此可以略去,从而将式(4.2)简化为 {∆P =H∆δ∆Q =L(∆U/U)(4.3) 但是,H 、L 中的元素是电压的函数,在每次迭代中都要重新形成上述H 、L 矩阵,并且又都是不对称矩阵,仍然相当麻烦。

对修正方程式的第二步简化是:由于有对状态变量δi 的约束条件|δi −δj |<|δi −δj |max,即线路两端电压的相角差是不大的,再计及G ij ≪B ij ,可以认为cos δij ≈1 G ij sin δij ≪B ij 于是,H ij 和L ij 的表达式H ij =∂∆P i∂δj=−U i U j (G ij sin δij −B ij cos δij ) i ≠j L ij =∂∆Q i∂U j U j=−U i U j (G ij sin δij −B ij cos δij ) i ≠j 可简化为H ij =U i U j B ij L ij =U i U j B ij (4.4) 再由式H ii =U i 2B ii +Q i (当i =j ,sin δij ≈0,cos δij ≈1时) (4.5) L ii =∂∆Q i ∂U iU i =−U i ∑U j (G ij sin δij −B ij cos δij )+2U i 2B ii =U i 2B ii −Q i j=nj=1j≠i(4.6)按自导纳的定义,上两式中的U i 2B ii 项应为各元件电抗远大于电阻的前提下除节点i 外其他节点都接地时由节点i 注入的无功功率。

附录 P-Q分解法潮流程序

附录 P-Q分解法潮流程序

double P, Q; int i; double V ; } Generator[ Ng ];
负荷节点数据定义为: struct Load _ Type {
double P, Q; int i; double V ; } Load [ Nl ]; ① 对于发电机节点, P 、 Q 应填正号,对于负荷节点, P 、 Q 应填负号 。
此要求支路数据按以下次序排列: ①支路两端节点号应把小号排在前边,大号排在后边;
②各支路按其小节点号的顺序排列。 这种排列方式适合形成导纳矩阵的上三角部分(对照第 ?? ) 。 发电机节点和负荷节点数据分别定义为结构数组,结构有 4 个数据成员,其内容 是相同的。发电机节点数据定义为: struct Generator _ Type {
{ int i, j; double R, X , YK ; } Branch[ Nb];
注意在 C 语言的程序实现中,数组可定义为固定长度的静态数组,也可以采用指 针动态分配内存,这里为了叙述简洁,把数组的定义写成以变量作为长度的形式,并且 假设数组的下标从 1 开始,由于 C 语言中数组的下标是从 0 开始的,因此在说明数组或 动态分配内存时,要多分配一个单元内存,即如下形式: Branch = new struct Brach _ Type[ Nb + 1]; 以下各数组的定义与此类似。 当支路为输电线路时,这 5 个数据成员分别表示: i: 输电线路一端的节点号; j: 输电线路另一端的节点号; R: 输电线路的电阻; X: 输电线路的电抗; Y0:输电线路充电电容的容纳,如图 F1-1(a)所示。 当支路为变压器时,数据为: i: 变压器一端的节点号; j: 变压器另一端的节点号,这两个节点号有一个带有负号,作为变压器支路的 标志; RT:变压器的电阻; XT:变压器的电抗(RT 和 XT 都是归算到变压器标准变比侧的数值) ; K: 变压器的非标准变比 (设在节点号为负的一侧) 。 变压器的模拟电路如图 F1-1(b) 所示。

基于matlab的pq分解法电力系统潮流计算

基于matlab的pq分解法电力系统潮流计算

基于P-Q分解法的电力系统潮流计算摘要电力系统潮流计算是研究电力系统稳定运行情况的一种重要的计算,在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用它来定量地分析比较供电方案或运行方式的合理性、可靠性和经济性。

本文主要介绍了电力系统潮流计算的基本原理(包括电力网络的数学模型和潮流计算的数学模型)及潮流计算常用的几种方法,着重介绍了P-Q分解法。

P-Q 分解法是潮流计算的常用方法之一,派生于用极坐标表示的牛顿-拉夫逊法,是牛顿-拉夫逊法的一种简化计算方法,可以提高运算的速度。

其中比较详细地讲述了P-Q分解法的形成过程及计算流程,而且结合一个具有代表性的算例,用P-Q分解法进行潮流计算,其计算过程是通过MATLAB软件实现的,并对计算结果进行了简要的分析。

关键词:电力系统潮流计算,P-Q分解法,MATLAB软件Based on P - Q Decomposition Method of The Power SystemFlow CalculationABSTRACTPower System Flow Calculation is an important analysis and calculation of power system steady-state operation,. In the study of power system design and the current operation mode are required Power Flow Calculation to quantitatively analyzed and compared to the program or run mode power supply reasonable, reliability and economy or not.This article mainly introduced the basic principles of Power System Flow Calculation (including the mathematical model of electric power network and the mathematical model of power flow calculation) and the main methods of power flow calculation, introduces the P - Q Decomposition Method. P - Q Decomposition Method is one of the commonly used method to compute the tidal current, derived from Newton - Ralph expressed in polar coordinate method, Newton - Ralph Method, a simplified calculation method can improve the speed of operation. One more detail tells the story of the formation process of P - Q Decomposition Method and calculation process, and combined with a typical example, using P - Q Decomposition Method for power flow calculation, the calculation process is implemented by MATLAB software, and the calculation results are analyzed in brief.KEY WORDS:Power System Flow Calculation,P - Q Decomposition Method,MATLAB software目录前言 (1)第1章绪论 (2)1.1 潮流计算简介 (2)1.2 潮流计算的意义及其发展 (2)1.2.1 潮流计算的意义 (2)1.2.2 潮流计算的现状及其发展 (3)1.3 本毕业设计的主要内容 (3)第2章电力系统潮流计算的基本原理 (5)2.1 电力网络的数学模型 (5)2.1.1 电力网络的基本方程式 (5)2.1.2 节点导纳矩阵及其性质 (7)2.2 潮流计算的数学模型 (8)2.2.1 潮流计算的节点分类 (8)2.2.2 潮流计算的基本方程 (9)2.2.3 潮流计算的约束条件 (10)第3章潮流计算的方法 (12)3.1 高斯-赛德尔法 (12)3.1.1 高斯-赛德尔法的基本原理 (12)3.1.2 高斯-赛德尔法的潮流计算过程 (12)3.2 牛顿-拉夫逊法 (14)3.2.1 牛顿-拉夫逊法的基本原理 (14)3.2.2 牛顿-拉夫逊法的潮流计算过程 (14)3.3 P-Q分解法 (15)第4章P-Q分解法潮流计算 (16)4.1 极坐标下的潮流计算模型 (16)4.2 P-Q分解法潮流计算 (18)4.3 P-Q分解法潮流计算的基本步骤 (20)第5章算例验证与分析 (22)5.1 MATLAB软件 (22)5.2 算例 (22)5.2.1 算例说明 (22)5.2.2 潮流计算过程 (23)5.3 算例结果分析 (27)结论 (28)谢辞 (29)参考文献 (30)附录 (31)外文资料翻译 (40)前言电力是衡量一个国家经济发展的主要指标,也是反映人民生活水平的重要标志,它已成为现代工农业生产、交通运输以及城乡生活等各方面不可或缺的能源和动力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

function PQ%用PQ分解法计算大电网潮流% %bus数组1.节点编号2.节点电压3.节点电压角度4.注入有功5.注入无功6.节点类型(1PQ 2PV 3平衡)%line数组1.始端节点编号2.末端节点编号3.电阻4电抗5电导G 6电纳B 7.变比%打开数据文件clearclcbus=load('');line=load('');linenum(:,[1,2])=line(:,[1,2]);[nb,~]=size(bus);[nl,~]=size(line);% nodenum=[(1:nb)' bus(:,1)];%带入子函数数据处理[bus,line,nPQ,nPV,nSW,nodenum] =change1_busline( bus,line );%对节点重新编号Y = admittance(bus,line,1 );%生成节点导纳矩阵Y1= admittance(bus,line,2 );%生成化简条件3的矩阵B1Y2=admittance(bus,line,3 );%生成化简条件3的矩阵B2%-----------------------------------------------------% %临时添加的测试数据% nPQ=4; nPV=0;nSW=1;nb=5;% Y=[ +5i +5i + -5+15i% +5i -10+30i 0 + % +5i -10+30i + 0% + 0 + 0% -5+15i + 0 0%% Y1=[ +5i +5i + -5+15i% +5i -10+30i 0 + % +5i -10+30i + 0% + 0 + 0% -5+15i + 0 0%% bus=[1 1 0 1% 2 1 0 1% 3 1 0 1% 4 1 0 1% 5 0 0 0 3];%% line=[5 2 0 0 0% 2 3 10 -30 0 0 0% 3 4 0 0 0% 4 1 0 0 0% 1 2 -5 0 0 0% 1 3 -5 0 0 0% 1 5 5 -15 0 0 0];%-------------------------------------------------------bus_PV0=bus((nPQ+1):end,2)';%*ones(1,nPV+nSW);bus_U=[ones(1,nPQ) bus_PV0]';%电压幅值bus_e=zeros(nb,1); %电压角度delta_P=zeros(nPQ+nPV,1);delta_Q=zeros(nPQ,1);% delta_e=zeros(nb-1,1);%delta_U=zeros(nPQ,1);c=0;KP=1;KQ=1;%KP KQ用来判断有功、无功是否收敛G=real(Y);B=imag(Y);B10=imag(Y1);B20=imag(Y2);%矩阵B0是进行化简三后的节点导纳矩阵虚部%形成解耦潮流的系数矩阵B1和B2B1=B10(1:nb-1,1:nb-1);B2=B20(1:nPQ,1:nPQ);while c<80%求解P Q的不平衡量for ii=1:nPQ+nPVdelta_P(ii)=bus(ii,4);for jj=1:nbdelta_P(ii)=delta_P(ii)-bus_U(ii)*bus_U(jj)*(G(ii,jj)*cos(bus_e(ii)-bus_e(jj))+B(ii,jj)*sin(bus_e(ii)-bus_e(jj)));endendUP=diag(bus_U(1:(nb-1)));%U矩阵利用各节点电压形成对角阵,来计算修正方程,对角线上的元素与bus_U列元素一一对应error_P=UP\delta_P;if max(abs(error_P))>delta_e=-(UP*B1)\error_P;bus_e=bus_e+[delta_e;0];c=c+1;KQ=1;else KP=0;if KQ~=0elsebreakendendfor ii=1:nPQdelta_Q(ii)=bus(ii,5);for jj=1:nbdelta_Q(ii)=delta_Q(ii)-bus_U(ii)*bus_U(jj)*(G(ii,jj)*sin(bus_e(ii)-bus_e(jj))-B(ii,jj)*cos(bus_e(ii)-bus_e(jj)));endendUQ=diag(bus_U(1:(nb-nPV-nSW)));error_Q=UQ\delta_Q;if max(abs(error_Q))>delta_U=-B2\error_Q;bus_U=bus_U+[delta_U;zeros((nPV+nSW),1)];c=c+1;KP=1;else KQ=0;if KP~=0elsebreakendendend%至此得到收敛的节点电压值%----------------------------------------------%--------------------------------------------% 对计算结果进行数据处理%将节点结果用原节点编号表示bus_Ue=zeros(nb,3);bus_Ue(:,[1,2,3])=[nodenum(:,2) bus_U bus_e/pi*180]; for ii=1:nbfor jj=ii+1:nbif bus_Ue(ii,1)>bus_Ue(jj,1)t=bus_Ue(ii,:);bus_Ue(ii,:)=bus_Ue(jj,:);bus_Ue(jj,:)=t;endendend%r_U是收敛的电压表达成复数的形式r_U=zeros(nb,1);for k=1:nbr_U(k)=bus_U(k)*(cos(bus_e(k))+1i*sin(bus_e(k)));end%计算平衡节点功率SW_S=0;SW_S=SW_S+r_U(nb)*conj(Y(nb,:))*conj(r_U);%计算各支路功率Sijline_S=zeros(nb,nb);line_S0=zeros(nb,nb);for ii=1:nbfor jj=1:nbline_S(ii,jj)=r_U(ii)*(conj(r_U(ii))*conj(Y(ii,ii))+(conj(r_U(ii))-conj(r_U(jj)))*conj(Y(ii,jj)));endend%------------------------------------------%把线路结果还原成原节点编号对应的结果for ii=1:nbfor jj=1:nbline_S0(nodenum(ii,2),nodenum(jj,2))=line_S(ii,jj);endendline_P=real(line_S0);line_Q=imag(line_S0);%计算各支路损耗delta_S=zeros(nl,1);for k=1:nla=linenum(k,1);b=linenum(k,2);delta_S(k)=line_S0(a,b)+line_S(b,a);end%计算网络总损耗S0=sum(delta_S);%-------------------------------------------------%将计算结果输入指定文件fid=fopen('C:\Users\lr\Desktop\matlab练习\训练题\大电网潮流计算\','wt'); fprintf(fid,'节点号\t节点电压幅值\t节点电压角度\n');for k=1:nbfprintf(fid,'%d\t%f\t%f\n',k,bus_Ue(k,1),bus_Ue(k,2));endfprintf(fid,'支路首端\t支路末端\t支路有功\t支路无功\t支路损耗\n');for k=1:nlfprintf(fid,'%d\t\t%d\t\t%f\t%f\t%f\n',linenum(k,1),linenum(k,2),line_P(linenum(k,1),linenum(k,2)),line_Q (linenum(k,1),linenum(k,2)),delta_S(k));endfprintf(fid,'平衡节点功率=%f\n',SW_S);fprintf(fid,'网络总损耗=%f\n',S0);fclose(fid);endfunction [bus,line,nPQ,nPV,nSW,nodenum] =change1_busline( bus,line )%此函数用来对原始输入节点、线路数据进行重新编号% %bus数组1.节点编号2.节点电压3.节点电压角度4.注入有功5.注入无功6.节点类型(1PQ 2PV 3平衡)%line数组1.始端节点编号2.末端节点编号3.电阻4电抗5电导G 6电纳B 7.变比[nb,~]=size(bus);[nl,~]=size(line);% nodenum=[(1:nb)' bus(:,1)];nPQ=0; nPV=0;nSW=0;%PQ=[];PQ=zeros(nb,6);PV=zeros(nb,6);SW=zeros(nb,6);%PQ PV 平衡节点的个数for k=1:nbswitch bus(k,6)case 1nPQ=nPQ+1;PQ(nPQ,:)=bus(k,:);case 2nPV=nPV+1;PV(nPV,:)=bus(k,:);case 3nSW=nSW+1;SW(nSW,:)=bus(k,:);otherwisedisp('节点数据类型出错!');endend%生成重新编号后的节点数据矩阵bus=[PQ;PV;SW];nodenum=[(1:nb)' bus(:,1)];%第一列为新的节点编号,第二列为对应的旧节点编号bus(:,1)=(1:nb)'; %至此实现了节点数据的重新编号%------------------------------------------------------%对线路数据重新编号% nodenum=[(1:nb)' bus(:,1)];%第一列为新的节点编号,第二列为对应的旧节点编号for ii=1:nl[r1,~]=find(nodenum(:,2)==line(ii,1));line(ii,1)=nodenum(r1,1);[r2,~]=find(nodenum(:,2)==line(ii,2));line(ii,2)=nodenum(r2,1);endendfunction Y = admittance(bus,line,c )%此函数用来形成节点导纳矩阵% %bus数组1.节点编号2.节点电压3.节点电压角度4.注入有功5.注入无功6.节点类型(1PQ2PV 3平衡)%line数组1.始端节点编号2.末端节点编号3.电阻4电抗5电导6电纳B/2 7.变比%c是用来控制形成节点导纳矩阵的方式的,c=1 形成一般的节点导纳矩阵,可以用来确定B2,c=2,形成化简条件3的节点导纳矩阵,确定B1[nb,~]=size(bus);[nl,~]=size(line);Y=zeros(nb,nb);zt=zeros(nl,1);yt=zeros(nl,1);ym=zeros(nl,1);I=zeros(nl,1);J=zeros(nl,1);K=zeros(nl,1); switch ccase 1for k=1:nlzt(k)=line(k,3)+1i*line(k,4);yt(k)=1/zt(k);ym(k)=line(k,5)+1i*line(k,6);I(k)=line(k,1);J(k)=line(k,2);K(k)=line(k,7);endcase 2for k=1:nlyt(k)=1/(line(k,3)+1i*line(k,4));ym=zeros(nl,1);I(k)=line(k,1);J(k)=line(k,2);if line(k,7)~=1K(k)=1;else K(k)=line(k,7);endendcase 3for k=1:nlyt(k)=1/(1i*line(k,4));ym(k)=line(k,5)+1i*line(k,6);I(k)=line(k,1);J(k)=line(k,2);K(k)=line(k,7);endend%针对不同线路设置节点导纳值for k=1:nlif (K(k)==1)&&(J(k)~=0) %普通线路Y(I(k),I(k))=Y(I(k),I(k))+yt(k)+ym(k);Y(J(k),J(k))=Y(J(k),J(k))+yt(k)+ym(k);Y(I(k),J(k))=Y(I(k),J(k))-yt(k);Y(J(k),I(k))=Y(I(k),J(k));endif (K(k)==1)&&(J(k)==0) %对地支路Y(I(k),I(k))=Y(I(k),I(k))+ym(k);endif (K(k)>1)&&(J(k)~=0) %非标准变比在j侧的变压器支路,zt ym为折算到i侧的值Y(I(k),I(k))=Y(I(k),I(k))+yt(k)+ym(k);Y(J(k),J(k))=Y(J(k),J(k))+yt(k)/K(k)^2;Y(I(k),J(k))=Y(I(k),J(k))-yt(k)/K(k);Y(J(k),I(k))=Y(I(k),J(k));endif (K(k)<1)&&(J(k)~=0)Y(I(k),I(k))=Y(I(k),I(k))+yt(k)+ym(k);Y(J(k),J(k))=Y(J(k),J(k))+yt(k)*K(k)^2;Y(I(k),J(k))=Y(I(k),J(k))-yt(k)*K(k);Y(J(k),I(k))=Y(I(k),J(k));endendend。

相关文档
最新文档