MATLAB潮流计算仿真

合集下载

潮流计算(matlab)实例计算

潮流计算(matlab)实例计算

潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。

2.在给定的电力网络上画出等值电路图。

3.运用计算机进行潮流计算。

4.编写设计说明书。

一、设计原理1.牛顿-拉夫逊原理牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。

牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。

电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。

为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。

牛顿—拉夫逊迭代法的一般步骤:(1)形成各节点导纳矩阵Y。

(2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。

(3)计算各个节点的功率不平衡量。

(4)根据收敛条件判断是否满足,若不满足则向下进行。

(5)计算雅可比矩阵中的各元素。

(6)修正方程式个节点电压(7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。

(8)计算平衡节点输出功率和各线路功率2.网络节点的优化1)静态地按最少出线支路数编号这种方法由称为静态优化法。

matlab潮流计算仿真方法

matlab潮流计算仿真方法

matlab潮流计算仿真方法
MATLAB 是一种强大的编程语言和环境,可用于执行各种仿真和计算任务,包括电力系统潮流计算。

以下是一个简单的 MATLAB 潮流计算仿真方法的
示例:
1. 定义系统参数:首先,你需要定义电力系统的参数,如发电机、负荷、变压器等。

这些参数通常包括额定电压、额定功率、电抗、电阻等。

2. 建立系统模型:使用这些参数,你可以在 MATLAB 中建立电力系统的模型。

这通常涉及到定义节点和支路,以及为它们分配相应的参数。

3. 编写潮流计算函数:接下来,你需要编写一个用于执行潮流计算的函数。

这个函数应该能够接收系统的模型和参数,并返回计算出的潮流结果,如电压、电流、功率等。

4. 运行仿真:最后,你可以运行仿真并调用你编写的潮流计算函数。

这将返回计算出的潮流结果,你可以使用这些结果进行进一步的分析或可视化。

这只是一个简单的示例,实际上在编写 MATLAB 潮流计算仿真方法时可能
需要考虑更多因素,例如系统的约束条件、初始条件、迭代算法的收敛性等。

如果你需要具体的 MATLAB 代码示例或更详细的指导,我建议你查阅MATLAB 的官方文档或相关的教程和文献。

基于matlab的电力系统潮流计算仿真分析

基于matlab的电力系统潮流计算仿真分析

基于matlab的电力系统潮流计算仿真分析本文旨在介绍电力系统潮流计算仿真分析的背景和目的,并简要概述本文的主要内容和结构安排。

潮流计算是电力系统运行中的重要环节,通过计算电力系统中各节点的电压和功率分布情况,可以帮助分析系统的运行状态、调控能力以及潜在的问题。

随着电力系统的规模不断扩大和复杂性的增加,利用计算机进行潮流计算仿真分析已成为一种必要且有效的方法。

而matlab作为一种功能强大的科学计算软件,被广泛应用于电力系统的潮流计算仿真分析。

本研究的目的是基于matlab,开展电力系统潮流计算仿真分析,以探究系统运行状态、发现潜在的问题,并提出相应的优化方案。

通过仿真分析,可以评估系统的稳定性、安全性和可靠性,为电力系统运行与规划提供重要的参考依据。

本文主要包括以下内容:研究背景和意义:介绍电力系统潮流计算仿真分析的背景和其在电力系统运行中的重要性。

相关理论与方法:介绍电力系统潮流计算的基本理论和常用的计算方法,以及matlab在电力系统仿真中的应用。

模型构建与数据处理:详细阐述潮流计算仿真中的模型构建过程,以及对系统数据的处理和准备。

仿真结果与分析:展示仿真计算得到的结果,并进行相应的分析和讨论。

优化方案提出与评估:根据仿真结果,提出相应的优化方案,并进行评估和比较。

结论与展望:总结全文的研究内容和结论,并展望未来进一步的研究方向。

通过本文的研究和分析,我们将深入了解电力系统潮流计算仿真分析的原理和方法,为电力系统的优化和运行提供有效的技术支持。

本部分将介绍电力系统的组成,包括发电机组、输电网和配电网等,以及相关概念和术语,为后续的潮流计算仿真分析奠定基础。

潮流计算是电力系统中重要的分析方法,用于计算系统中各节点的电压幅值和相角,以及线路和设备的功率潮流分布。

潮流计算的基本原理是建立节点潮流方程和数学模型,通过求解这些方程来得到系统的潮流状态。

节点潮流方程节点潮流方程描述了电力系统中各节点的电压和功率之间的关系。

仿真潮流实验报告

仿真潮流实验报告

一、实验目的1. 理解电力系统潮流计算的基本原理和方法。

2. 掌握MATLAB/Simulink在电力系统仿真中的应用。

3. 通过仿真实验,验证潮流计算的正确性和实用性。

二、实验原理与内容1. 潮流计算的基本原理潮流计算是电力系统分析的重要手段,用于计算电力系统各节点的电压、相角、功率等参数。

其基本原理如下:(1)根据电力系统的网络结构和参数,建立节点方程和支路方程。

(2)利用节点方程和支路方程,求解节点电压和相角。

(3)根据节点电压和相角,计算各节点的有功功率和无功功率。

2. 仿真实验内容本次仿真实验采用MATLAB/Simulink搭建一个简单的2机5节点电力系统模型,并利用PowerGUI进行潮流计算。

(1)建立电力系统模型首先,在MATLAB/Simulink中搭建电力系统模型,包括发电机、负荷、线路等元件。

根据实验要求,设置发电机参数、负荷参数和线路参数。

(2)潮流计算利用PowerGUI进行潮流计算,设置求解器参数,如迭代次数、收敛精度等。

运行潮流计算,得到各节点的电压、相角、有功功率和无功功率等参数。

(3)结果分析对潮流计算结果进行分析,验证潮流计算的正确性和实用性。

比较不同运行方式下的潮流计算结果,分析系统稳定性。

三、实验方法1. 利用MATLAB/Simulink搭建电力系统模型。

2. 利用PowerGUI进行潮流计算。

3. 对潮流计算结果进行分析。

四、实验步骤1. 启动MATLAB/Simulink,新建一个仿真模型。

2. 在仿真模型中,添加发电机、负荷、线路等元件,设置相应参数。

3. 将搭建好的电力系统模型连接起来,形成一个完整的系统。

4. 打开PowerGUI,选择潮流计算模块。

5. 在潮流计算模块中,设置求解器参数,如迭代次数、收敛精度等。

6. 运行潮流计算,得到各节点的电压、相角、有功功率和无功功率等参数。

7. 对潮流计算结果进行分析,验证潮流计算的正确性和实用性。

五、实验结果与分析1. 潮流计算结果本次仿真实验中,潮流计算结果如下:(1)节点电压:U1=1.02p.u., U2=1.05p.u., U3=1.03p.u., U4=1.00p.u., U5=1.01p.u.(2)节点相角:δ1=0.5°, δ2=1.0°, δ3=0.7°, δ4=0.0°, δ5=0.6°(3)有功功率:P1=100MW, P2=100MW, P3=100MW, P4=100MW, P5=100MW(4)无功功率:Q1=20Mvar, Q2=20Mvar, Q3=20Mvar, Q4=20Mvar, Q5=20Mvar2. 结果分析(1)节点电压和相角在合理范围内,说明潮流计算正确。

电力系统潮流分析计算的MATLAB仿真

电力系统潮流分析计算的MATLAB仿真

电力系统潮流分析计算的MATLAB仿真实现MATLAB仿真潮流分析计算的一般过程是:
(1)首先,根据电力系统的结构和参数,编写MATLAB程序,定义各种变量,包括节点电压、节点功角、支路电流、支路功率等变量,并将这些变量与图形化的表格关联起来,使用MATLAB程序绘出电力系统的拓扑图和参数表,这些拓扑图和参数表是电力系统潮流分析计算的基础。

(2)然后,分析电力系统的电压和功角变化趋势,计算节点动态电压、功角和各支路电流,并将结果写入特定的输出文件。

(3)此外,编写计算支路功率的MATLAB程序,以对电力系统的功率消耗和全系统平衡情况进行精确分析。

(4)最后,使用MATLAB绘图功能,绘制出电力系统潮流分析计算的结果,如各节点动态电压和功角的变化曲线,支路功率的变化曲线等,从而及时发现电力系统中可能存在的问题,以及有效的补救措施。

通过MATLAB仿真技术对电力系统进行潮流分析计算,可以更准确、更快捷地分析电力系统中可能发生的故障。

Matlab实现潮流计算程序

Matlab实现潮流计算程序

程序代码如下:111111.%读入数据clcclearfilename='123.txt';a=textread(filename)n=a(1,1);pinghengjd=a(1,2);phjddianya=a(1,3);jingdu=a(1,4);b=zeros(1,9);j1=0;[m1,n1]=size(a);for i1=1:m1if a(i1,1)==0j1=j1+1;b(j1)=i1;endendb;%矩阵分块a1=a(b(1)+1:b(2)-b(1)+1,1:n1);a2=a(b(2)+1:b(3)-1,1:n1);a3=a(b(3)+1:b(4)-1,1:n1);a4=a(b(4)+1:b(5)-1,1:n1);a5=a(b(5)+1:b(6)-1,1:n1);%设置初值vcz=1;dcz=0;kmax=20;k1=0;%求节点导纳矩阵a11=zeros(4,6);for i0=1:3for j0=1:6a11(i0,j0)=a1(i0,j0);a11(4,j0)=a2(1,j0);endenda11;linei=a11(1:4,2);linej=a11(1:4,3);liner=a11(1:4,4);linex=a11(1:4,5);lineb=a11(1:4,6);branchi=0;branchj=0;branchb=0;G=zeros(4,4);B=zeros(4,4);for k=1:4i2=linei(k,1);j2=linej(k,1);r=liner(k,1);x=linex(k,1);b=0;GIJ=r/(r*r+x*x);BIJ=-x/(r*r+x*x);if k>=4 & lineb(k)~=0k0=lineb(k);G(i2,j2)=-GIJ/k0;G(j2,i2)=G(i2,j2);B(i2,j2)=-BIJ/k0;B(j2,i2)=B(i2,j2);G(i2,i2)=G(i2,i2)+GIJ/k0/k0; B(i2,i2)=B(i2,i2)+BIJ/k0/k0;elseG(j2,i2)=-GIJ;G(i2,j2)=G(j2,i2);B(j2,i2)=-BIJ;B(i2,j2)=B(j2,i2);G(i2,i2)=G(i2,i2)+GIJ;b=lineb(k);B(i2,i2)=B(i2,i2)+BIJ+b;endG(j2,j2)=G(j2,j2)+GIJ;B(j2,j2)=B(j2,j2)+BIJ+b;endG;B;B=B.*i;Yf=G+BY=abs(Yf);alf=angle(Yf);%赋Jacobian矩阵参数P=zeros(n,1);Q=zeros(n,1);Pd=zeros(1,n);Qd=zeros(1,n);dP=zeros(1,n);dQ=zeros(1,n);PG=a4(:,3);PD=a4(:,5);QG=a4(:,4);QD=a4(:,6);i8=a4(:,2);for j8=1:length(i8)P(i8(j8))=PG(i8(j8))-PD(i8(j8));Q(i8(j8))=QG(i8(j8))-QD(i8(j8));enddelt=zeros(n,1);V=ones(n,1);V(3)=1.10;V(4)=1.05;ddelt=zeros(n,1);dV=zeros(n,1);A=zeros(2*n,2*n);B=zeros(2*n,1);Jacobian=Jaco(V,delt,n,Y,alf)%求取矩阵功率for j5=1:kmaxdisp(['第' int2str(j5) '次计算结果'])if k>=kmaxbreakendfor i10=1:4Pd(i10)=0;Qd(i10)=0;for j10=1:nPd(i10)=Pd(i10)+V(i10)*Y(i10,j10)*V(j10)*cos(d elt(i10)-delt(j10)-alf(i10,j10));Qd(i10)=Qd(i10)+V(i10)*Y(i10,j10)*V(j10)*sin(d elt(i10)-delt(j10)-alf(i10,j10));endendfor i4=1:3dP(i4)=P(i4)-Pd(i4);endfor j4=1:2dQ(j4)=Q(j4)-Qd(j4);endA=Jaco(V,delt,n,Y,alf)for i14=1:nB(i14*2-1)=-dP(i14);B(i14*2)=-dQ(i14);endif max(abs(B))>jingduX=A\B;for i16=1:nddelt(i16)=X(2*i16-1);dV(i16)=X(2*i16)*V(i16);endV=V+dVdelt=delt+ddeltelsebreakenddisp('----------------')end%流氓算法% for ii=1:2% V(ii)=V(ii)+dV(ii);% end% V222222.function A=Jaco(V,delt,n,Y,alf)%计算Jacobian矩阵for i7=1:nHd1(i7)=0;Jd1(i7)=0;for j7=1:nHd1(i7)=Hd1(i7)+V(i7)*Y(i7,j7)*V(j7)*sin(delt(i7)-delt(j7)-alf(i7,j7));Jd1(i7)=Jd1(i7)+V(i7)*Y(i7,j7)*V(j7)*cos(delt(i7)-delt(j7)-alf(i7,j7));endendfor i6=1:nfor j6=1:nif i6~=j6H(i6,j6)=-V(i6)*Y(i6,j6)*V(j6)*sin(delt(i6)-delt(j6)-alf(i6,j6));N(i6,j6)=-V(i6)*Y(i6,j6)*V(j6)*cos(delt(i6)-delt(j6)-alf(i6,j6));J(i6,j6)=-N(i6,j6);L(i6,j6)=H(i6,j6);elseH(i6,i6)=Hd1(i6)-V(i6)*Y(i6,i6)*V(i6)*sin(delt(i6)-delt(j6)-alf(i6,j6));J(i6,j6)=-Jd1(i6)+V(i6)*Y(i6,j6)*V(j6)*cos(delt(i6)-delt(j6)-alf(i6,j6));N(i6,j6)=-Jd1(i6)-V(i6)*Y(i6,i6)*V(i6)*cos(alf(i6,i6));L(i6,i6)=-Hd1(i6)+V(i6)*Y(i6,i6)*V(i6)*sin(alf(i6,i6));endendend%修正Jacobian矩阵for j9=3for i9=1:nN(i9,j9)=0;L(i9,j9)=0;J(j9,i9)=0;L(j9,i9)=0;endendL(j9,j9)=1;for j9=4for i9=1:nH(i9,j9)=0;N(i9,j9)=0;J(i9,j9)=0;L(i9,j9)=0;H(j9,i9)=0;N(j9,i9)=0;J(j9,i9)=0;L(j9,i9)=0;endendH(j9,j9)=1;L(j9,j9)=1;%Jaco=[H N;J L];%Jaco=zeros(2*n,2*n);for i11=1:nfor j11=1:nJaco(2*i11-1,2*j11-1)=H(i11,j11); Jaco(2*i11-1,2*j11)=N(i11,j11); Jaco(2*i11,2*j11-1)=J(i11,j11);Jaco(2*i11,2*j11)=L(i11,j11);endendA=Jaco;33333.数据:4 4 1.05 0.000011 12 0.1 0.40 0.015282 1 4 0.12 0.50 0.019203 24 0.08 0.40 0.014131 1 3 0 0.3 0.909090911 1 0 0 0.30 0.182 2 0 0 0.55 0.133 3 0.5 0 0 01 3 1.10 0 0。

基于Matlab的五节点潮流仿真

基于Matlab的五节点潮流仿真

基于Matlab的五节点潮流仿真潮流计算是电力系统设计与运行的基本计算,可将网络中各节点电压和功率计算出来,继而进行损耗的计算。

通过潮流计算可以检测和预知电力系统中负荷和网络结构的变化,从而保障电力系统安全、稳定运行。

文章以电力系统五节点潮流算例为基础,应用牛顿潮流计算方法,构建基于Matlab的程序与仿真,并对程序与仿真结果进行对比。

标签:电力系统五节点;程序与仿真;牛顿潮流计算引言潮流计算是在电力系统稳态时的一种运算,由系统赋予的运行条件和整体结构来确定整个系统运行的状况。

同时它也是电力系统应用最基本和最广泛的电气计算。

较早的时候大多数的人用高斯——赛德尔迭代法求解潮流,因为它在运算的时候内部储存量比较小,但其收敛性却一般,所以在这以后人们就选用阻抗法,经过修改和运算方式的改进后,牛顿法就成为人们应用潮流计算的常用方法,其主要的特点就是将方程的非线性化变为方程的线性化。

文章重点以牛顿潮流计算作为潮流计算的方法,在Matlab中应用电力系统五节点算例进行仿真对比分析。

1 牛顿法潮流计算简言之,其核心就是把非线性方程式的求解过程变为相对应的线性求解的过程。

在牛顿潮流计算中形成雅克比矩阵之后,在此基础上建立相对应的修正方程,它的基本计算流程为:1.求解各个节点导纳,并组成相对应的矩阵YB;2、设置各个节点的初始值ei(0)、fi(0);3、把各个节点的初始电压值带入式中求解修正方程式中的非平衡量ΔPi(0)、ΔQi(0)、Ui(0)2 ;4、求雅克比矩阵各元素Nij、Nij、Jij、Lij与Rij、Sij;5、求解修正量Δei(0)、Δfi(0);6、再次计算各个节点的电压;7、在之前的基础上迭代;8、求解线路上的功率以及平衡节点的功率。

其中节点电压可采用直角坐标形式或者极坐标的形式。

在牛顿潮流计算的修正方程处理的方式上能联系修正方程式的求解,求解过程能采取形成、消元、储存同时进行的方式。

另外节点编号也能做有关的优化,其优化法通常有三种,它们为静态法、半动态法和动态法。

22节点潮流计算matlab仿真程序

22节点潮流计算matlab仿真程序

【22节点潮流计算matlab仿真程序详解】引言主题指定的22节点潮流计算matlab仿真程序是电力系统领域中的重要内容。

在本文中,我将以深入、广泛的方式来探讨这一主题,帮助您全面了解和掌握相关知识。

一、22节点潮流计算的概念1. 22节点潮流计算的基本介绍22节点潮流计算是电力系统分析中的重要部分,它是对电力系统节点之间功率、电压、相角等参数进行计算和分析的过程。

通过22节点潮流计算,可以有效评估电力系统的稳定性和可靠性。

2. 22节点潮流计算的基本原理在进行22节点潮流计算时,需要考虑节点之间的功率平衡方程、电压平衡方程等基本原理。

这些原理是潮流计算的理论基础,也是实际仿真程序设计的重要依据。

二、22节点潮流计算matlab仿真程序的设计与实现1. matlab在电力系统仿真中的应用matlab作为一种功能强大的科学计算软件,在电力系统领域有着广泛的应用。

通过matlab,可以方便地进行潮流计算、稳定性分析、拓扑优化等工作。

2. 22节点潮流计算matlab仿真程序的设计要点在设计22节点潮流计算matlab仿真程序时,需要考虑程序的模块化、可扩展性、运行效率等要点。

通过合理的程序设计,可以提高仿真程序的稳定性和可靠性。

三、22节点潮流计算matlab仿真程序的应用实例1. 22节点潮流计算matlab仿真程序的基本框架通过一份完整的22节点潮流计算matlab仿真程序,来实际演示程序的结构和实现过程。

这样可以让读者更直观地理解程序的设计和应用。

2. 22节点潮流计算matlab仿真程序的实际应用案例以一个具体的电力系统实例为例,演示22节点潮流计算matlab仿真程序的实际应用过程。

这样可以让读者更清晰地了解程序在实际工程中的价值和作用。

结束语通过本文的深度探讨和广度展示,相信您已经对22节点潮流计算matlab仿真程序有了更全面的了解。

也希望您能够在实际工作中灵活运用所学知识,不断提升自己在电力系统领域的技术水平。

matlab电力标准系统潮流仿真计算

matlab电力标准系统潮流仿真计算

毕业设计(论文)电气与电子工程系供用电技术专业毕业设计(论文)题目基于Matlab 的电力系统潮流仿真计算学生姓名班级学号指导教师完成日期2007年6月10日Matlab的电力系统潮流仿真计算总计毕业设计(论文)页表格个插图幅摘要潮流计算是电力系统的一项重要分析功能,是进行故障计算,继电保护整定,安全分析的必要工具。

传统的潮流计算程序缺乏图形用户界面,结果显示不直观,难于与其他分析功能集成。

网络原始数据输入工作量大且易于出错。

随着计算机技术的飞速发展,MICROSOFT WINDOWS操作系统早已被大家所熟悉,其友好的图形用户界面已成为PC机的标准,而DOS操作系统下的应用程序因其界面不够友好,开发具有WINDOWS风格界面的电力系统分析软件已成为当前的主流趋势。

另外,传统的程序设计方法是结构化程序设计方法,该方法基于功能分解,把整个软件工程看作是一个个对象的组合,由于对某个特定问题域来说,该对象组成基本不变,因此,这种基于对象分解方法设计的软件结构上比较稳定,易于维护和扩充。

本文介绍了图形化潮流计算软件的开发设计思想和总体结构,阐述了该软件所具备的功能和特点。

结合电力系统的特点,软件采用MATLAB语言运行于WINDOWS操作系统的图形化潮流计算软件。

本系统的主要特点是操作简单,图形界面直观,运行稳定.计算准确。

计算中,算法做了一些改进,提高了计算速度,各个类的有效封装又使程序具有很好的模块性.可维护性和可重用性。

关键词:电力系统潮流计算;牛顿—拉夫逊法潮流计算;MATLAB目录摘要第一章电力系统潮流计算概述………………………………………1.1电力系统简介……………………………………………………1.2潮流计算简介…………………………………………………………1.3潮流计算的意义及其发展…………………………………………………第二章潮流计算的数学模型………………………………………………………2.1导纳矩阵的原理及计算方法……………………………………………………2.1.1自导纳和互导纳的确定方法…………………………………………2.1.2节点导纳矩阵的性质及意义…………………………………………………2.1.3非标准变比变压器等值电路……………………………………………2.2潮流计算的基本方程…………………………………………………………2.3电力系统节点分类………………………………………………………………2.4潮流计算的约束条件……………………………………………………………………(1 第三章牛顿-拉夫逊法概述………………………………………………………3.1牛顿-拉夫逊法基本原理…………………………………………3.3牛顿-拉夫逊法求解过程………………………………………………………3.2牛顿-拉夫逊法程序框图…………………………………………………………第四章Matlab概述…………………………………………………………………4.1Matlab简介………………………………………………………………………4.2矩阵的生成………………………………………………………………………4.3矩阵的运算………………………………………………………………………4.4牛顿—拉夫逊法潮流计算程序…………………………………………………………总结…………………………………………………………参考文献…………………………………………………………………………………………(34)第一章电力系统潮流计算概述1.1 电力系统叙述电力工业发展初期,电能是直接在用户附近的发电站(或称发电厂)中生产的,各发电站孤立运行。

基于matlab的电力系统潮流仿真计算

基于matlab的电力系统潮流仿真计算

基于matlab的电力系统潮流仿真计算电力系统潮流仿真计算是指通过数学模型和计算机仿真技术对电力系统中各个节点的电压、电流等参数进行计算和分析的过程。

这一过程可以帮助电力系统的运维管理人员更好地了解电力系统的运行状况,提高电力系统的稳定性和可靠性。

在电力系统潮流计算过程中,matlab作为常用的编程工具,可以提供非常有效的计算工具,帮助研究人员和电力系统工程师更好地进行电力系统潮流仿真计算。

首先,matlab作为一种数值计算的编程语言,可以实现复杂的数学运算和数据分析。

在电力系统潮流计算中,需要进行大量的数值计算和数据处理,因此matlab可以提供很好的支持。

在matlab中,可以使用各种数值计算包和工具箱来处理数学问题和进行复杂的数据分析。

这些工具可以帮助用户更好地进行电力系统仿真计算。

其次,matlab提供了大量的图形化界面的工具箱,这些工具箱可以帮助用户更方便地进行数据可视化和图像处理。

在电力系统潮流计算中,通过图表展示计算结果可以帮助用户更好地了解电力系统的潮流分布和电压变化情况。

matlab的图形化界面工具箱可以方便地进行图表制作和数据可视化处理,为用户提供了更好的计算结果展示方式。

另外,matlab还支持各种第三方工具的引入和使用。

用户可以通过引入各种算法库、等额容量分配方法库等第三方工具来扩展matlab的功能。

这些工具提供了电力系统潮流计算需要的算法和方法,可以在matlab中进行集成和使用,帮助用户更好的处理问题和获得更精确的计算结果。

总的来说,基于matlab的电力系统潮流仿真计算是一种高效而强大的计算方法。

通过使用matlab可以更好地完成电力系统潮流计算的各项目标和要求,帮助电力系统工程师更好地掌握电力系统的运行状态和运行状况,提高电力系统的稳定性和可靠性。

同时,matlab也为用户提供了各种编程和数据可视化的工具,帮助用户更加方便和高效的完成电力系统潮流计算的各项任务。

运用MATLAB软件进行潮流计算论文

运用MATLAB软件进行潮流计算论文

本文运用MATLAB软件进行潮流计算,对给定题目进行分析计算,再应用DDRTS 软件,构建系统图进行仿真,最终得到合理的系统潮流。

潮流计算是电力系统最基本最常用的计算。

根据系统给定的运行条件,网络接线及元件参数,通过潮流计算可以确定各母线的电压幅值和相角,各元件流过的功率,整个系统的功率损耗。

潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。

因此,潮流计算在电力系统的规划计算,生产运行,调度管理及科学计算中都有着广泛的应用。

首先,画出系统的等效电路图,在计算出各元件参数的基础上,应用牛顿一拉夫逊Newton-Raphson法以及MATLAB软件进行计算对给定系统图进行了四种不同负荷下的潮流计算,经过调节均得到符合电压限制及功率限制的潮流分布。

其次、牛顿一拉夫逊Newton-Raphson法具有较好的收敛性,上述计算过程经过四到五次迭代后均能收敛。

根据运算结果,分析各支路损耗和系统总损耗。

最后,应用DDRTS软件,构建系统图,对给定负荷重新进行分析,潮流计算后的结果也能满足相应的参数要求。

关键词:牛顿-拉夫逊法MATLAB DDRTS潮流计算目录1 •摘要 (2)2•题目原始资料 (2)3 •题目分析 (5)4.题目求解 (6)1)根据题意要求画出等值电路 (6)2)读程序画出拉夫逊法的流程图 (7)3)变电所负荷为题目所给数据进行求解 (8)4)编写程序并运行 (10)5)具体调压调损耗过程 (10)1.改变变压器变比调压 (10)2.改变发电机机端电压调压 (12)3.负荷按照一定比例变化的潮流计算分析 (15)4.轮流斷开支路双回线中的一条的潮流计算 (19)5 •仿真并比较 (26)6.设计心得 (28)7 •参考文献 (29)题目原始资料:1 •系统图:两个发电厂分别通过变压器和输电线路与四个变电所相连。

2、发电厂资料:母线1和2为发电厂高压母线,发电厂一总装机容量为(300MW ),母线3 为机压母线,机压母线上装机容量为(100MW),最大负荷和最小负荷分别为50MW 和20MW :发电厂二总装机容量为(200MW )o3、变电所资料:(一)变电所1、2、3、4低压母线的电压等级分别为:35KV 10KV 35KV10KV(二)变电所的负荷分别为:50MW 50MW 40MW 70MW(三)每个变电所的功率因数均为cos卩=0. 85 ;(四)变电所1和变电所3分别配有两台容量为75MVA的变压器,短路损耗414KW,短路电压(%)=16.7 ;变电所2和变电所4分别配有两台容量为63MVA 的变压器,短路损耗为245KW,短路电压(%)=10.5 ;4、输电线路资料:发电厂和变电所之间的输电线路的电压等级及长度标于图中,单位长度的电阻为0.17G,单位长度的电抗为0.402Q,单位长度的电纳为2.78*10'65。

Matlab电力系统潮流仿真计算课程设计报告

Matlab电力系统潮流仿真计算课程设计报告

课程设计报告学生姓名:学号:学院:班级:题目:指导教师:职称: 指导教师:职称:2019年月日目录1 绪论 (1)1.1 潮流计算在电力系统分析的作用及意义 (1)1.1.1 潮流计算的作用 (1)1.1.2潮流计算的意义 (1)1.2 潮流计算的主要方法 (2)1.2.2牛顿-拉夫逊法 (2)1.2.3 P-Q分解法 (3)1.3 课程设计主要工作 (6)2 计算原理与流程 (7)2.1 潮流计算数学模型 (7)2.1.1变量及节点分类 (7)2.1.2各元件数学模型 (7)2.1.3潮流方程 (8)2.2 计算方法的数学原理 (9)2.2.1基本原理 (9)2.2.2修正方程 (10)2.2.3牛顿—拉夫逊法的求解过程及结构框图 (14)2.3 潮流计算的约束条件 (15)3 仿真工具说明 (17)3.1 MATLAB说明 (17)3.2 MATPOWER说明 (17)3.2.1 电力常规潮流运算 (17)3.2.2 数据文件格式 (17)3.2.3 潮流计算 (19)4 仿真工具应用说明 (20)4.1 IEEE标准数据格式 (20)4.2 潮流计算结果 (21)4.2.1 牛顿-拉夫逊法 (22)4.2.2 P-Q分解法 (23)4.2.3 方法比较 (23)4.3潮流情况 (23)4.3.1电压情况 (24)4.3.2线路情况 (25)4.4电压调整 (27)4.1.1改变发电机端电压调压 (27)4.4.2改变变压器的变比调压 (28)4.5 提高节点电压水平 (29)5 总结 (30)参考文献 (31)1 绪论1.1 潮流计算在电力系统分析的作用及意义1.1.1 潮流计算的作用根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线的电压、各支路流过的功率、整个系统的功率损耗,用以研究系统规划和运行中提出的各种问题。

对规划中的电力系统,通过潮流计算可以检验所提出的电力系统规划方案能否满足各种运行方式的要求;对运行中的电力系统,通过潮流计算可以预知各种负荷变化和网络结构的改变会不会危及系统的安全,系统中所有母线的电压是否在允许的范围以内,系统中各种元件是否会出现过负荷,以及可能出现过负荷时应事先采取哪些预防措施等。

matlab110kv潮流计算仿真代码

matlab110kv潮流计算仿真代码

matlab110kv潮流计算仿真代码以下是一个基于 MATLAB 的 110KV 潮流计算仿真代码,仅供参考:```matlab% 导入必要的文件net = read_net("110kv_power_grid.txt"); % 读取电网模型文件load("grid_voltage.mat"); % 加载电压等级load("grid_current.mat"); % 加载电流等级% 设置潮流计算参数dt = 0.01; % 时间步长t = 0:dt:10; % 时间序列N = 100; % 点数omega = 6.283; % 谐波频率f = omega/(2*pi); % 谐波频率N_oil = 30; % 油浸变压器个数t_oil = 20; % 油浸变压器时间步长t_oil = round(t_oil/dt); % 油浸变压器时间步长omega_oil = omega/(2*pi)*t_oil; % 油浸变压器谐波频率i_oil = zeros(1,N_oil); % 油浸变压器电流for i = 1:N_oilbeta_oil = 0.1; % 油浸变压器 beta 系数omega_oil_prime = omega_oil*beta_oil; % 油浸变压器谐波频率t_oil_prime = t_oil/omega_oil_prime; % 油浸变压器时间步长i_oil(i) =exp(-t_oil_prime*omega_oil)*sin(2*pi*f*t_oil(i) +omega_oil_prime*t(i) + theta_oil(i));end% 计算潮流net_out = zeros(size(i_oil));for i = 1:Nnet_out(i) =sum(i_oil(i)*exp(-t_oil_prime*omega_oil)*sin(2*pi*f*t_oil(i) + omega_oil_prime*t(i) + theta_oil(i)));end% 可视化结果fplot("i_oil",net_out);hold on;fplot("theta_oil",net_out);hold off;title("110KV 潮流计算");```在此代码中,我们使用了 MATLAB 的`read_net`函数读取电网模型文件,`load`函数加载电压等级和电流等级,`grid_voltage`和`grid_current`函数分别加载了电压等级和电流等级,设置了潮流计算参数,并使用`fplot`函数绘制了潮流结果。

matlab_的电力系统潮流仿真计算_secret

matlab_的电力系统潮流仿真计算_secret

毕业设计(论文)电气与电子工程系供用电技术专业毕业设计(论文)题目基于Matlab 的电力系统潮流仿真计算学生姓名班级学号指导教师完成日期2007年 6 月10日Matlab的电力系统潮流仿真计算总计毕业设计(论文)页表格个插图幅摘要潮流计算是电力系统的一项重要分析功能,是进行故障计算,继电保护整定,安全分析的必要工具。

传统的潮流计算程序缺乏图形用户界面,结果显示不直观,难于与其他分析功能集成。

网络原始数据输入工作量大且易于出错。

随着计算机技术的飞速发展,MICROSOFT WINDOWS操作系统早已被大家所熟悉,其友好的图形用户界面已成为PC机的标准,而DOS操作系统下的应用程序因其界面不够友好,开发具有WINDOWS风格界面的电力系统分析软件已成为当前的主流趋势。

另外,传统的程序设计方法是结构化程序设计方法,该方法基于功能分解,把整个软件工程看作是一个个对象的组合,由于对某个特定问题域来说,该对象组成基本不变,因此,这种基于对象分解方法设计的软件结构上比较稳定,易于维护和扩充。

本文介绍了图形化潮流计算软件的开发设计思想和总体结构,阐述了该软件所具备的功能和特点。

结合电力系统的特点,软件采用MATLAB语言运行于WINDOWS操作系统的图形化潮流计算软件。

本系统的主要特点是操作简单,图形界面直观,运行稳定.计算准确。

计算中,算法做了一些改进,提高了计算速度,各个类的有效封装又使程序具有很好的模块性.可维护性和可重用性。

关键词:电力系统潮流计算;牛顿—拉夫逊法潮流计算;MATLAB目录摘要第一章 电力系统潮流计算概述……………………………………… 1.1电力系统简介…………………………………………………… 1.2潮流计算简介………………………………………………………… 1.3潮流计算的意义及其发展…………………………………………………第二章 潮流计算的数学模型………………………………………………………2.1导纳矩阵的原理及计算方法……………………………………………………2.1.1自导纳和互导纳的确定方法………………………………………… 2.1.2节点导纳矩阵的性质及意义 ………………………………………………… 2.1.3非标准变比变压器等值电路…………………………………………… 2.2潮流计算的基本方程 ………………………………………………………… 2.3电力系统节点分类……………………………………………………………… 2.4潮流计算的约束条件……………………………………………………………………(1第三章 牛顿-拉夫逊法概述………………………………………………………3.1牛顿-拉夫逊法基本原理 …………………………………………3.3牛顿-拉夫逊法求解过程……………………………………………………… 3.2牛顿-拉夫逊法程序框图…………………………………………………………第四章 Matlab 概述…………………………………………………………………4.1Matlab 简介 ……………………………………………………………………… 4.2矩阵的生成……………………………………………………………………… 4.3矩阵的运算……………………………………………………………………… 4.4牛顿—拉夫逊法潮流计算程序……………………………………………………… …总结…………………………………………………………参考文献…………………………………………………………………………………………(34)第一章 电力系统潮流计算概述1.1 电力系统叙述电力工业发展初期,电能是直接在用户附近的发电站(或称发电厂)中生产的,各发电站孤立运行。

MATLAB潮流计算仿真

MATLAB潮流计算仿真

附录A MATLAB 序%本程序的功能是用牛顿% B1矩阵: % 5% B2矩阵: % 4 % 6 clear; n=10;%i nput(' nl=11;%i nput(' isb=1;% in put(' 1、 1、拉夫逊法进行潮流计算 2、末端号;3、支路阻抗; 6、支路首端处于K 侧为1, 2、该节点负荷功率; 支路首端号; 、支路的变比; 该节点发电机功率; 、PV 节点电压V 的给定值; 、节点分类标号 4、支路对地电纳 1侧为0 3、节点电压初始值 5、节点所接的无功补偿设备的容量 请输入节点数:n='); 请输入支路数:n 1='); 请输入平衡母线节点号: 请输入误差精度: pr=0.00001;%i nput('B1=[1 2 1.755e-2+4.155e-2i 0.26i 1 0; 1 4 3.159e-2+7.479e-2i 0.1215i 1 0; 1 6 3.159e-2+7.479e-2i 0.1215i 1 0; 2 3 3.68e-3+0.11135i 0 0.909 1; 4 5 3.68e-3+0.11135i 0 0.909 1; 4 6 2.808e-2+6.648e-2i 0.10 8i 1 0; 6 7 3.0865e-3+0.0833i 0 0.909 1; 6 8 3.159e-2+7.479e-2i 0.1215i 1 0; 6 10 2.457e-2+5.817e-2i 0.0945i 1 0; 8 9 3.0865e-3+0.0833i 0 0.909 1; 8 10 2.808e-2+6.648e-2i 0.10 8i 1 0];%i nput('矩阵:B1='); B2=[0 0 1.05 1.05 0 1; 0 0 1 0 0 2; 0 0.6+0.3718i 1 0 0 2; 0 0 1 0 0 2; 0 0.4+0.247i 1 0 0 2; 0 0 1 0 0 2;0 0.35+0.2169i 1 0 0 2; 0 0 1 0 0 2; 0 0.5+0.3099i 1 0 0 2; 0.8 0 1.05 1.05 0 3];%i nput(' isb='); pr=');请输入由支路参数形成的请输入各节点参数形成的矩阵:B2=');Y=zeros (n );e=zeros(1, n);f=zeros(1, n);V=zeros(1, n);sida=zeros(1, n);S1=zeros (n I); % ------------------- 修改部分 ------------------------- ym=0; SB=100;UB=220; %ym=i nput(' 您输入的参数是标么值?(若不是则输入一个不为零的数值) if ym~=0');%SB=i nput(' 请输入功率基准值:SB=');%UB=i nput(' 请输入电压基准值:UB=');YB=SB./UB./UB;BB仁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);else 支路数左节点处于低压侧p=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)A2)+B1(i,4)./2; % Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; % end 对角元K侧对角元1侧%求导纳矩阵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 B(i,i)=B(i,i)+B2(i,5); %iend %===================== 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: n if 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)endfor j1=1: n if j1~=isb&j1~=iX 仁-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/de X4=-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%非平衡节点 &对角元P 仁 C(i)*e(i)+f(i)*D(i);%(Gij*ej-Bij*fj)+fi 工(Gij*fj+Bij*ej) Q 仁 C(i)*f(i)-e(i)*D(i);% (Gij*ej-Bij*fj)-ei 工(Gij*fj+Bij*ej) %求 P',Q' V2=e(i)A 2+f(i)A2; %=========点功率P点功率Qei fiif B2(i,6)~=3 DP=P(i)-P1; DQ=Q(i)-Q1; : % 以下针对非PV 节点来求取功率差及% % % 以上为除平衡节点外其它节点的功率计算 求取 Jacobi 矩阵==============电压模平方Jacobi 矩阵元素非PV 节点 节点有功功率差节点无功功率差节点注入功率SG-SL 节点无功补偿量非平衡节点非平衡节点&非对角元X仁-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/de X4=-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;% △ P 扩展扩展列J(m,q)=X2;end endelse%===============DP=P(i)-P1; % PV 节点有功误差DV=V(i)A2-V2; % PV 节点电压误差for j1=1: nif j1~=isb&j1~=i % 非平衡节点&非对角兀下面是针对PV节点来求取Jacobi 矩阵的元素X仁-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 %X仁-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 (从第二行开始,第一、二行是平衡节点)k仁k+1;N1=N; % N=N0+1 即N=2*n+1 扩展列△ P、△ Q for k2=k1:N1 % 扩展列△ P、A QJ(k,k2)=J(k,k2)./J(k,k); % 非对角兀规格化endJ(k,k)=1; % 对角兀规格化if k~=3% 不是第三行n/ -% --------------------------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;end if 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); % 修改节点电压实部k仁k+1;f(L)=f(L)-J(k1,N); % 修改节点电压虚部endDET=abs(J(k,N));if DET>=pr % IT2=IT2+1; % end endICT2(a)=IT2; ICT 仁ICT1+1; end电压偏差量是否满足要求 不满足要求的节点数加1%用高斯消去法解"w=-J*V" disp(' 迭代次数:');disp(ICT1);disp('没有达到精度要求的个数:');disp(ICT2); for k=1: nV(k)=sqrt(e(k)A 2+f(k)A 2); sida(k)=ata n(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: n C(p)=0; for q=1: nC(p)=C(p)+conj(Y(p,q))*conj(E(q)); endS(p)=E(p)*C(p); end disp(' 各节点的功率S 为(节点号从小到大排列):’);disp(S);disp(' ------------------------------------------------------------- '); SS=S*SB; disp(SS);%——for k=3:N0修改节点电压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))-co n j(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))-co nj(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(', nu m2str(p),',', nu m2str(q),')=' ,n um2str(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))-co nj(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))-co n j(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(', nu m2str(q),',', nu m2str(p),')=', nu m2str(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(', nu m2str(p),',', nu m2str(q),')=' ,n um2str(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;。

基于matlab的电力系统潮流仿真计算

基于matlab的电力系统潮流仿真计算

华中科技大学文华学院毕业设计(论文)题目:基于matlab的电力系统潮流仿真计算学生姓名:学号:学部(系):专业年级:指导教师:职称或学位:硕士2010 年 5 月 22日目录摘要 (1)关键词 (1)Abstract (2)Key Words (2)前言 (3)1 电力系统潮流计算概述 (4)1.1 电力系统概述 (4)1.2 潮流计算介绍 (4)1.3 国内用得较多的几种潮流计算软件简介 (5)2 潮流计算的数学模型 (6)2.1 导纳矩阵的原理及计算方法 (6)2.1.1 自导纳和互导纳的确定方法 (6)2.1.2 节点导纳矩阵的性质及意义 (6)2.1.3 非标准变比变压器等值电路 (8)2.2 潮流计算的基本方程 (9)2.3 电力系统节点分类 (11)2.4 潮流计算的约束条件 (12)3 牛顿-拉夫逊法概述 (13)3.1 牛顿-拉夫逊法基本原理 (13)3.2 牛顿--拉夫逊法潮流求解过程 (14)3.3 牛顿—拉夫逊法的程序框图 (17)4 潮流仿真程序 (19)4.1 Matlab简介 (19)4.2 矩阵的运算 (19)4.3 牛顿—拉夫逊法潮流计算程序 (20)结束语 (21)参考文献 (22)致谢 (23)附录 (24)基于matlab的电力系统潮流仿真计算摘要传统的潮流计算程序缺乏图形用户界面,结果显示不直观,难于与其他分析功能集成。

网络原始数据输入工作量大且易于出错。

随着计算机技术的飞速发展,MICROSOFT WINDOWS操作系统早已被大家所熟悉,其友好的图形用户界面已成为PC机的标准,而DOS操作系统下的应用程序因其界面不够友好,开发具有WINDOWS风格界面的电力系统分析软件已成为当前的主流趋势。

另外,传统的程序设计方法是结构化程序设计方法,该方法基于功能分解,把整个软件工程看作是一个个对象的组合,由于对某个特定问题域来说,该对象组成基本不变,因此,这种基于对象分解方法设计的软件结构上比较稳定,易于维护和扩充。

MATLAB在潮流计算演示教学中的应用

MATLAB在潮流计算演示教学中的应用

MATLAB在潮流计算演示教学中的应用MATLAB在潮流计算演示教学中的应用潮流计算是电力系统分析的重要内容之一,它可以求解电网中各节点电压、电流、功率、潮流等参数。

在电力系统教学中,潮流计算是一个重要的课程内容,也是学生理论知识与实践运用的桥梁。

因此,如何提高潮流计算教学的效果是学术界和工业界共同关注的问题。

MATLAB是一款功能强大的计算软件,广泛应用于工程、科学和教育领域,在潮流计算教学中也有重要的应用。

一、MATLAB在潮流计算仿真中的应用MATLAB可以进行各种电力系统仿真,包括潮流计算仿真。

它可以计算无功补偿、阻抗、励磁等各种因素对电网的影响,以及计算故障流、负荷流、电压降等等电网的各种参数。

通过使用MATLAB,学生可以模拟各种操作和状态,了解电网在不同负载状态下的响应,并研究电路参数对电网的影响。

二、MATLAB在潮流计算可视化中的应用MATLAB提供了强大的图形功能,可以用来可视化潮流计算。

学生可以绘制节点电压、相角、功率等参数的图示,以及各个节点之间电流流向的关系图。

在课堂上,教师可以通过这些可视化图像演示潮流计算的过程,提高学生的理解能力。

三、MATLAB在潮流计算分析中的应用MATLAB还可以用于对潮流计算结果进行分析,发现其中的规律和特点。

学生可以借助MATLAB进行统计分析、回归分析、协方差分析等方法,对潮流计算的结果进行深入探究。

这些分析结果有助于学生深入理解电网潮流的本质,提高其对电力系统的认知。

四、MATLAB在潮流计算算法优化中的应用MATLAB还可以用于潮流计算算法的优化,参与设计各种算法的控制语句和流程,包括线性规划、非线性规划、最小二乘法等多种算法。

学生可以在课程中了解各种算法的基本原理和具体操作流程,进而掌握MATLAB以及其他编程工具的使用方法,提高自主研究和创新能力。

综上所述,MATLAB在潮流计算教学中发挥了重要的作用,为学生提供了一个高效和灵活的学习平台。

基于MATLAB的电力系统潮流计算方法的研究与仿真

基于MATLAB的电力系统潮流计算方法的研究与仿真

基于MATLAB的电力系统潮流计算方法的研究与仿真目录基于MATLAB的电力系统潮流计算方法的研究与仿真............................................ - 1 -1.1电力系统的形成和发展 ................................................................................... - 3 -1.2潮流计算的研究背景 ....................................................................................... - 3 -1.3 潮流计算的历史与发展 ................................................................................... - 4 -1.4潮流计算的基本应用 ....................................................................................... - 4 -2 电力系统各元件的特性及数学模型 .......................................................................... - 6 -2.1电力线路的参数及等效模型 ........................................................................... - 6 -2.1.1 电力线路的一字型和π形等效模型 .................................................... - 6 -2.1.2 电力线路的阻抗 .................................................................................... - 8 -2.1.3 电力线路的导纳 .................................................................................... - 8 -2.2双绕组变压器的参数及数学模型 ................................................................... - 9 -2.2.1 双绕组变压器中的阻抗 ...................................................................... - 10 -2.2.2 双绕组变压器的导纳 .......................................................................... - 10 -2.2.3 双绕组变压器的π形等效模型 ........................................................... - 11 -3 复杂电力系统的计算机算法 .................................................................................... - 13 -3.1 电力网络的方程 ............................................................................................. - 13 -3.1.1 节点电压方程 ...................................................................................... - 13 -3.1.2 回路电流方程 ...................................................................................... - 13 -3.2 节点导纳矩阵的修改 ..................................................................................... - 14 -3.2.1 矩阵的形成 .......................................................................................... - 14 -3.2.2 矩阵的修改 .......................................................................................... - 14 -3.3 功率方程的节点和变量 ................................................................................. - 16 -3.3.1 变量的分类 .......................................................................................... - 16 -3.3.2 节点的分类 .......................................................................................... - 16 -3.3.3 功率方程 .............................................................................................. - 17 -4 牛顿-拉夫逊法(直角坐标)潮流计算 ........................................................................ - 19 -4.1牛顿-拉夫逊法的基本原理............................................................................ - 19 -4.1.1 牛顿-拉夫逊法求解一维非线性方程的数学介绍............................. - 19 -4.1.2 牛顿-拉夫逊法求解多维非线性方程的数学介绍............................. - 22 -4.2牛顿-拉夫逊法潮流计算求解过程................................................................ - 23 -5 潮流计算的MATLAB仿真...................................................................................... - 25 -5.1节点模型和基本数据 ..................................................................................... - 25 -5.2 输入的参数 ..................................................................................................... - 27 -5.3 仿真计算的结果 ............................................................................................. - 31 -结论 ........................................................................................................................ - 39 -1前言1.1电力系统的形成和发展电力工程的基石是电磁感应定律,是Faraday在十九世纪三十年代观察得到的,电路闭合的其中一段导体作用在磁感线上,闭合电路有电流流通。

基于-Matlab的电力系统潮流仿真计算

基于-Matlab的电力系统潮流仿真计算

基于 Matlab 的电力系统潮流仿真计算引言电力系统潮流计算是电力系统分析的重要工具之一。

在现代电力系统中,对电力系统进行潮流计算可以提供电压和电流等重要参数的准确估计,从而实现电力系统的稳定运行。

本文将介绍基于 Matlab 的电力系统潮流仿真计算方法。

1. 潮流计算方法概述潮流计算是一种用来确定电力系统各节点电压和功率的计算方法。

其基本原理是基于电力系统的网络拓扑结构以及各节点的电压和功率平衡条件来求解各节点的电压和功率。

常用的潮流计算方法有潮流方程法、牛顿-拉夫逊法和高斯-赛德尔法等。

在本文中,我们将以牛顿-拉夫逊法为例进行文章阐述。

2. Matlab 工具箱介绍Matlab 是一种强大的数学计算软件,其电力系统仿真计算工具箱中提供了一系列用于电力系统潮流计算的函数和工具。

通过 Matlab 工具箱,我们可以有效地处理电力系统中的节点数据、线路参数以及负载数据,并针对给定的系统条件进行潮流计算。

3. 潮流计算步骤步骤1:确定电力系统的节点数据、线路参数以及负载数据。

步骤2:建立电力系统的节点导纳矩阵和负载阻抗矩阵。

步骤3:计算电力系统的节点注入功率矩阵。

步骤4:初始化节点电压和功率向量。

步骤5:利用牛顿-拉夫逊法迭代计算节点电压和功率。

步骤6:根据计算结果,判断电力系统是否存在潮流收敛。

步骤7:输出电力系统的节点电压和功率。

4. 潮流计算示例下面给出一个简单的潮流计算示例,说明基于 Matlab 的电力系统潮流仿真计算的具体步骤。

假设我们有一个三节点的电力系统,其中节点1为发电节点,节点2和节点3为负荷节点。

具体参数如下:•节点1注入功率:P1 = 1.5 + j0.5•节点2负荷:PL2 = 1 + j0.3•节点3负荷:PL3 = 2 + j0.8我们可以通过以下步骤进行潮流计算:1.设置节点矩阵:Node = [1; 2; 3];2.设置节点导纳矩阵:Ybus = [3 -1 -2; -1 2 -1; -2 -1 4]3.设置负载阻抗矩阵:Yload = [0; -1/PL2; -1/PL3];4.初始化节点电压和功率向量:V = zeros(3, 1);P = zeros(3, 1);5.使用牛顿-拉夫逊法迭代计算节点电压和功率:iter = 1; % 迭代次数初始化while (iter < itermax)% 计算节点注入功率P = ... % 根据节点电压计算% 计算雅可比矩阵J = ... % 根据注入功率计算% 计算节点电压变化量deltaV = ... % 根据雅可比矩阵计算% 更新节点电压V = ... % 根据变化量更新电压% 判断潮流是否收敛if (deltaV < tol)break;enditer = iter + 1;end6.输出电力系统的节点电压和功率:disp('节点电压:');disp(V);disp('节点功率:');disp(P);5. 结论本文介绍了基于 Matlab 的电力系统潮流仿真计算方法。

MATLAB潮流计算仿真

MATLAB潮流计算仿真

附录A MATLAB程序%本程序的功能是用牛顿——拉夫逊法进行潮流计算% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号clear;n=10;%input('请输入节点数:n=');nl=11;%input('请输入支路数:nl=');isb=1;%input('请输入平衡母线节点号:isb=');pr=0.00001;%input('请输入误差精度:pr=');B1=[1 2 1.755e-2+4.155e-2i 0.26i 1 0;1 4 3.159e-2+7.479e-2i 0.1215i 1 0;1 6 3.159e-2+7.479e-2i 0.1215i 1 0;2 3 3.68e-3+0.11135i 0 0.909 1;4 5 3.68e-3+0.11135i 0 0.909 1;4 6 2.808e-2+6.648e-2i 0.108i 1 0;6 7 3.0865e-3+0.0833i 0 0.909 1;6 8 3.159e-2+7.479e-2i 0.1215i 1 0;6 10 2.457e-2+5.817e-2i 0.0945i 1 0;8 9 3.0865e-3+0.0833i 0 0.909 1;8 10 2.808e-2+6.648e-2i 0.108i 1 0];%input('请输入由支路参数形成的矩阵: B1=');B2=[0 0 1.05 1.05 0 1;0 0 1 0 0 2;0 0.6+0.3718i 1 0 0 2;0 0 1 0 0 2;0 0.4+0.247i 1 0 0 2;0 0 1 0 0 2;0 0.35+0.2169i 1 0 0 2;0 0 1 0 0 2;0 0.5+0.3099i 1 0 0 2;0.8 0 1.05 1.05 0 3];%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/de X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df X3=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、△Q for 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))-con j(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))-co nj(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))-co nj(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))-con j(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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录A MATLAB程序%本程序的功能是用牛顿——拉夫逊法进行潮流计算% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号clear;n=10;%input('请输入节点数:n=');nl=11;%input('请输入支路数:nl=');isb=1;%input('请输入平衡母线节点号:isb=');pr=0.00001;%input('请输入误差精度:pr=');B1=[1 2 1.755e-2+4.155e-2i 0.26i 1 0;1 4 3.159e-2+7.479e-2i 0.1215i 1 0;1 6 3.159e-2+7.479e-2i 0.1215i 1 0;2 3 3.68e-3+0.11135i 0 0.909 1;4 5 3.68e-3+0.11135i 0 0.909 1;4 6 2.808e-2+6.648e-2i 0.108i 1 0;6 7 3.0865e-3+0.0833i 0 0.909 1;6 8 3.159e-2+7.479e-2i 0.1215i 1 0;6 10 2.457e-2+5.817e-2i 0.0945i 1 0;8 9 3.0865e-3+0.0833i 0 0.909 1;8 10 2.808e-2+6.648e-2i 0.108i 1 0];%input('请输入由支路参数形成的矩阵: B1=');B2=[0 0 1.05 1.05 0 1;0 0 1 0 0 2;0 0.6+0.3718i 1 0 0 2;0 0 1 0 0 2;0 0.4+0.247i 1 0 0 2;0 0 1 0 0 2;0 0.35+0.2169i 1 0 0 2;0 0 1 0 0 2;0 0.5+0.3099i 1 0 0 2;0.8 0 1.05 1.05 0 3];%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、△Q for 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))-con j(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))-co nj(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))-co nj(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))-con j(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;。

相关文档
最新文档