用Matlab计算潮流计算电力系统分析

合集下载

matlab潮流计算仿真方法

matlab潮流计算仿真方法

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

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

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

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

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

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

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

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

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

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

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

电力系统潮流计算matlab程序

电力系统潮流计算matlab程序

电力系统潮流计算matlab程序电力系统潮流计算是电力系统运行和规划中的重要环节,它用于计算电力系统中各节点的电压、功率和电流等参数。

随着电力系统规模的不断扩大和复杂性的增加,传统的手工计算方法已经无法满足需求,因此,利用计算机编程进行潮流计算成为了一种必要的选择。

Matlab是一种功能强大的科学计算软件,它提供了丰富的数学函数和工具箱,可以方便地进行电力系统潮流计算。

下面我将介绍一下如何使用Matlab编写电力系统潮流计算程序。

首先,我们需要建立电力系统的节点模型。

节点模型是电力系统中各节点的电压、功率和电流等参数的数学表示。

在Matlab中,我们可以使用矩阵来表示节点模型。

假设电力系统有n个节点,我们可以定义一个n×n的复数矩阵Y来表示节点之间的导纳关系,其中Y(i,j)表示节点i和节点j之间的导纳。

同时,我们还需要定义一个n×1的复数向量V来表示各节点的电压,其中V(i)表示节点i的电压。

接下来,我们需要编写潮流计算的主程序。

主程序的主要功能是根据节点模型和潮流计算算法,计算出各节点的电压、功率和电流等参数。

在Matlab中,我们可以使用循环语句和矩阵运算来实现潮流计算。

具体的计算过程可以参考电力系统潮流计算的算法。

在编写主程序之前,我们还需要定义一些输入参数,如电力系统的节点数、发电机节点和负荷节点等。

这些参数可以通过用户输入或者读取文件的方式获取。

同时,我们还需要定义一些输出参数,如各节点的电压、功率和电流等。

这些参数可以通过矩阵运算和循环语句计算得到,并输出到文件或者显示在屏幕上。

最后,我们需要进行程序的测试和调试。

可以通过输入一些测试数据,运行程序并检查输出结果是否正确。

如果发现程序有错误或者结果不准确,可以通过调试工具和打印调试信息的方式进行调试。

总之,利用Matlab编写电力系统潮流计算程序可以提高计算效率和准确性,为电力系统的运行和规划提供有力的支持。

当然,编写一个完整的潮流计算程序需要考虑很多细节和特殊情况,这需要有一定的电力系统和编程知识。

基于MATLAB的电力系统潮流计算

基于MATLAB的电力系统潮流计算

MATPOWER电力潮流和最优潮流
电力潮流 •MATPOWER拥有 5种潮流计算方法,他们可以通过 runpf来调用。除了可以输出到屏 幕之外(作为默认方式),runpf还可以有以下的返回选项可以选择参数来输出解: >> [baseMVA,bus,gen,branch,success,et]=runpf(casename) ; •这些解的值被存储在以下的结果中: •bus(:,VM) bus voltage magnitudes(母线电压幅值) • bus(:,VA) bus voltage angles (母线电压相角) • gen(:,PG) generator real power injections(发电机有功输入) • gen(:,QG) generator reactive power injections(发电机无功输入) • branch(:,PF) real power injected into “from” end of branch(支路首端的 有功输入) • branch(:,PT) real power injected into “to” end of branch(支路末端的有 功输入) branch(:,QF) reactive power injected into “from” end of branch (支路首端的无功输 入) branch(:,QT) reactive power injected into “to” end of branch(支 路末端的无功输入) • success 1=solved successfully,0=unable to solve(1表示计算成功,0表示失败) •et computation time required for solution( 计算所用时间)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于MATLABGUIDE的电力系统潮流计算

基于MATLABGUIDE的电力系统潮流计算

经过 对雅 可 比矩 阵改 进 重新 分块 , 之更 适合 于计 算 机编 程 。 使 12 潮 流 计 算 的流 程 图 l
11 数 学模 型 .
假 设 系 统 的节 点 个 数 为 n 其 中 第 1 2, , 号 节 点 为 P , , … m Q 节 点 , m+ , 2 … , - 号 节 点 为 P 节 点 , n号 节 点 为 第 l m+ , n 1 V 第

s se y tm wi a i prv c t h n m o ed Ja obi mati s an r i pr os d. ih s x op e whc i ba e on s d Ne o wt n—L fi a i asert prgrm .he at on nd s e i o o a T po w— e lw ogr rf o pr am i s de el v ope wi MATL an i gr hi u erit f c i d eo d d t h AB d t s ap c s nera e s ev lpe wi G UI isde t h DE n i MATL AB a d n an
△ = 一 : 一( + : i m+1 m ̄ , , -1 ) 0 = , 2… n
迭 代 过 程 的修 正 方 程 式 : ,一 △V A¨= J 式 中 A = AP , △P一 , …, l △ + , A r[ …, ,A0 , △0 , …, m

e ampl s o h ogr x e h ws t e pr am fe i e fct ve.
Ke wo d P y r s:owerFlw lult o Cac a i MATL on, AB, UI J co a Ma r G DE,a bin ti x

电力系统分析潮流计算matlab

电力系统分析潮流计算matlab

目录:一、软件需求说明书......................................................... .. (3)二、概要设计说明书......................................................... .. (4)1、编写潮流计算程序......................................................... . (4)2、数据的输入测试......................................................... .. (4)3、运行得出结果......................................................... (4)4、进行实验结果验证......................................................... . (4)三、详细设计说明书......................................................... .. (5)1、数据导入模块......................................................... (5)2、节点导纳矩阵模块......................................................... . (5)3、编号判断模块......................................................... (5)4、收敛条件判定模块......................................................... .. (5)5、雅可比矩阵模块......................................................... (5)6、迭代计算模块......................................................... . (5)7、计算输出参数模块......................................................... .. (5)四、程序代码......................................................... .. (6)五、最测试例......................................................... (15)1、输入结果......................................................... (15)2、输出结果......................................................... (15)3、结果验证......................................................... (15)一、软件需求说明书本次设计利用MATLAB/C++/C(使用MATLAB)编程工具编写潮流计算,实现对节点电压和功率分布的求取。

电力系统潮流分析matlab代码

电力系统潮流分析matlab代码

functiontisco% 这是一个电力系统潮流计算的程序n=input( '\n 请输入节点数:n=') ;m =input( '\n 请输入支路数: m =') ;ph=input( '\n 请输入平衡母线的节点号:ph=') ;B1=input( '\n 请输入支路信息: B1=') ;% 它以矩阵形式存贮支路的情况, 每行存贮一条支路% 第一列存贮支路的一个端点% 第二列存贮支路的另一个端点% 第三列存贮支路的阻抗% 第四列存贮支路的对地导纳% 第五列存贮变压器的变比, 注意支路为1% 第六列存贮支路的序号B2=input( '\n 请输入节点信息: B2=') ;% 第一列为电源侧的功率% 第二列为负荷侧的功率% 第三列为该点的电压值% 第四列为该点的类型: 1 为PQ 节点,2 为PV 节点,3 为平衡节点A =input( '\n 请输入节点号及对地阻抗: A =') ;ip=input( '\n 请输入修正值: ip=') ;% ip为修正值Y =zeros( n) ;e=zeros( 1,n) ;f=zeros( 1,n) ;no=2*ph-1;fori=1:nif A( i,2) ~=0p=A( i,1) ;Y(p,p) =1./A( i,2) ;endendfori=1:mp=B1( i,1) ;q=B1( i,2) ;Y( p,p) =Y( p,p) +1./( B1( i,3) *B1( i,5) ^2+B1( i,4) ./2;Y( 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,4) ./2;endG =real( Y ) ;B=imag( Y ) ;fori=1:ne( i) =real( B2( i,3) ) ;f( i) =imag( B2( i,3) ) ;S(i) =B2( i,1) -B2( i,2) ;V(i) =B2( i,3) ;endP=real( S) ;Q =imag( S) ;[ C ,D ,D F ] =xxf( G ,B ,e,f,P ,Q ,n,B2,ph,V ,no) ;J=jacci( Y ,G ,B ,P ,Q ,e,f,V ,C ,D ,B2,n,ph,no) ; [ De,D f] =hxf( J,D F,ph,n,no) ;t=0;whilem ax( abs( D e) ) >ip& m ax( abs( D f) ) >ipt=t+1;e=e+D e;f=f+D f;[ C ,D ,D F] =xxf( G ,B ,e,f,P,Q ,n,B2,ph,V ,no) ;J=jacci( Y ,G ,B ,P,Q ,e,f,V ,C ,D ,B2,n,ph,no) ; [ De,D f] =hxf( J,D F ,ph,n,no) ;endv=e'+f'*j;fori=1:nhh( i) =conj( Y( ph,i) *v( i) ) ;endS(ph) =sum( hh) *v( ph) ;B2( ph,1) =S( ph) ;V =abs( v) ;jd=angle( v) *180/pi;result1=[ A( :,1) ,real( v) ,imag( v) ,V ,jd,real( S.') , imag( S.') ,real( B2( :,1) ) ,imag( B2( :,1) ) ,real ( B2( :,2) ) ,imag( B2( :,2) ) ] ;fori=1:ma( i) =conj( ( v( B1( i,1) ) /B1( i,5) -v( B1( i,2) ) ) /B1( i,3) ) ;b( i) =v( B1( i,1) ) *a( i) -j*B1( i,4) *v( B1( i,1) ) ^2/2;c( i) =-v( B1( i,2) ) *a( i) -j*B1( i,4) *v( B1( i,2) ) ^2/2;endresult2=[ B1( :,6) ,B1( :,1) ,B1( :,2) ,real( b.') ,imag ( b.') ,real( c.') ,imag( c.') ,real( b.'+c.') ,imag( b.'+c.') ] ;printout( t,result1,S,b,c,result2) ;typeresult.mfunction[ C,D ,D F] =xxf( G ,B,e,f,P,Q ,n,B2,ph,V ,no) % 该子程序是用来求取D Ffori=1:nifi~=phC(i) =0;D(i) =0;for j=1:nC( i) =C( i) +G( i,j) *e( j) -B( i,j) *f( j) ;D( i) =D( i) +G( i,j) *f( j) +B( i,j) *e( j) ;endP1=C(i) *e( i) +D( i) *f( i) ;Q 1=C(i) *f( i) -D( i) *e( i) ;V 1=e(i) ^2+f( i) ^2;if B2( i,4) ==2p=2*i-1;D F( p) =P( i) -P1;p=p+1;D F( p) =V( i) ^2-V 1^2;elsep=2*i-1;D F( p) =P( i) -P1;p=p+1;D F( p) =Q( i) -Q 1;endendendD F=D F';ifph~=nD F( no,:) =[ ] ;D F( no,:) =[ ] ;endfunction [ D e,D f] =hxf( J,D F,ph,n,no)% 该子函数是为求取D e D fD X =J\D F;D X 1=D X ;x1=length( D X 1) ;ifph~=nD X( no) =0;D X( no+1) =0;fori=( no+2) :( x1+2)D X(i) =D X 1( i-2) ;endelseD X =[ D X 1,0,0] ;endk=0;[ x,y] =size( D X ) ;fori=1:2:xk=k+1;D f( k) =D X( i) ;D e( k) =D X( i+1) ;endfunctionJ=jacci( Y ,G ,B,P,Q ,e,f,V ,C,D ,B2,n,ph,no) % 该子程序是用来求取jacci矩阵fori=1:nswitch B2( i,4)case 3continuecase 1for j=1:nif j- =i& j- =phX 1=G( i,j) *f( i) -B( i,j) *e( i) ;X 2=G( i,j) *e( i) +B( i,j) *f( i) ;X 3=-X 2;X 4=X 1;p=2*i-1;q=2*j-1;J(p,q) =X 1;m =p+1;J( m ,q) =X 3;q=q+1;J(p,q) =X 2;J( m ,q) =X 4;else if j==i& j~=phX 1=D( i) +G( i,i) *f( i) -B( i,i) *e( i) ;X 2=C( i) +G( i,i) *e( i) +B( i,i) *f( i) ;X 3=C( i) -G( i,i) *e( i) -B( i,i) *f( i) ;X 4=-D( i) +G( i,i) *f( i) -B( i,i) *e( i) ;p=2*i-1;q=2*j-1;J(p,q) =X 1;m =p+1;J( m ,q) =X 3;q=q+1;J(p,q) =X 2;J( m ,q) =X 4;endendendcase 2for j=1:nif j~=i& j~=phX 1=G( i,j) *f( i) -B( i,j) *e( i) ;X 2=G( i,j) *e( i) +B( i,j) *f( i) ;X 3=0;X 4=0;p=2*i-1;q=2*j-1;J(p,q) =X 1;m =p+1;J( m ,q) =X 3;q=q+1;J(p,q) =X 2;J( m ,q) =X 4;else if j==i& j~=phX 1=D( i) +G( i,i) *f( i) -B( i,i) *e( i) ; X 2=C( i) +G( i,i) *e( i) +B( i,i) *f( i) ; X 3=0;X 4=0;p=2*i-1;q=2*j-1;J(p,q) =X 1;m =p+1;J( m ,q) =X 3;q=q+1;J(p,q) =X 2;J( m ,q) =X 4;endendendendendifph~=nJ( no,:) =[ ] ;J( no,:) =[ ] ;J( :,no) =[ ] ;J( :,no) =[ ] ;end。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《电力系统潮流上机》课程设计报告院系:电气工程学院
班级:电088班
学号:
学生姓名:刘东昇
指导教师:张新松
设计周数:两周
日期:2010年 12 月 25 日
一、课程设计的目的与要求
目的:培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识
要求:基本要求:
1.编写潮流计算程序;
2.在计算机上调试通过;
3.运行程序并计算出正确结果;
4.写出课程设计报告
二、设计步骤:
1.根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择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)静态地按最少出线支路数编号
这种方法由称为静态优化法。

在编号以前。

首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。

当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。

这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也
2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。

因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。

3.MATLAB编程应用
Matlab 是“Matrix Laboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。

由于使用
Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。

四、设计内容
1.设计流程图
count=count+1
2.程序
clear;clc
%重新编号,把原题中的节点1,2,3,4,5重新依次编号为5,1,2,3,4,其中1-4号为PQ节点,5号为平衡节点
y=0;
%输入原始数据,求节点导纳矩阵
y (1,2)=1/+; y (1,3)=1/+; y (1,4)=1/+; y(1,5)=1/+;
y(2,3)=1/+;y(2,5)=1/+;
y(3,4)=1/+;
y(4,5)=0;
for i=1:5
for j=i:5
y(j,i)=y(i,j);
end
end
Y=0;
%求互导纳
for i=1:5
for j=1:5
if i~=j
Y(i,j)=-y(i,j);
end
end
end
%求自导纳
for i=1:5
Y(i,i)=sum(y(i,:));
end
Y %Y 为导纳矩阵
G=real(Y);
B=imag(Y);
%原始节点功率
S(1)=+;
S(2)=赋初值
U=ones(1,5);U(5)=;
e=zeros(1,5);
ox=ones(8,1);fx=ones(8,1);
count=0 %计算迭代次数
while max(fx)>1e-5
for i=1:4
for j=1:4
H(i,j)=0;N(i,j)=0;M(i,j)=0;L(i,j)=0;oP(i)=0;oQ(i)=0;
end
end
for i=1:4
for j=1:5
oP(i)=oP(i)-U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)));
oQ(i)=oQ(i)-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)));
end
oP(i)=oP(i)+P(i); oQ(i)=oQ(i)+Q(i);
end
fx=[oP,oQ]';
%求雅克比矩阵
%当i~=j时候求H,N,M,L 如下:
for i=1:4
for j=1:4
if i~=j
H(i,j)=-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j))); N(i,j)=-U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j))); L(i,j)=H(i,j);
M(i,j)=-N(i,j);
end
end
end
H,N,M,L
%当i=j 时H,N,M,L如下:
for i=1:4
for j=1:5
if i~=j
H(i,i)=H(i,i)+U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i, j)*cos
(e(i)-e(j)));
N(i,i)=N(i,i)-U(i)*U(j)*(G(i,
j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)));
);
L(i,i)=L(i,i)-U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)) );
end
end
N(i,i)=N(i,i)-2*(U(i))^2*G(i,i);
L(i,i)=L(i,i)+2*(U(i))^2*B(i,i);
end
J=[H,N;M,L] %J 为雅克比矩阵
ox=-((inv(J))*fx);
for i=1:4
oe(i)=ox(i); oU(i)=ox(i+4)*U(i);
end
for i=1:4
e(i)=e(i)+oe(i); U(i)=U(i)+oU(i);
end
count=count+1;
end
ox,U,e,count
%求节点注入的净功率
i=5;
for j=1:5
Q(i)=U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)))+Q(i);
end
S(5)=P(5)+Q(5)*sqrt(-1);
S
%求节点注入电流
I=Y*U'
3.运行结果
Y值:
迭代过程:
电压值:
平衡节点注入功率及电流:
五、课程设计心得与体会
在电力系统分析课程中,我们学习了电力网络的数学模型和确定解算方法。

在本次课程设计中我们利用前面的基础知识进行制定计算流程和编制计算程序,实践了牛顿-拉夫逊法,体会到其用性。

根据潮流计算的基本要求,对潮流计算可归纳为下面几点:(1)计算方法的可靠性或收敛性;(2)对计算速度和内存量的要求;(3)计算的方便性和灵活性。

基于这几点采用了Matlab进行编程计算。

电力系统潮流计算都是基于矩阵的迭代运算,而Matlab 语言正是以处理矩阵见长,实践证明,Matlab 语言在电力系统潮流计算仿真研究中的应用是可行的,而且由于其强大的矩阵处理功能,完全可以应用于电力系统的其它分析计算中,用Matlab语言编程效率高,程序调试十分方便。

相关文档
最新文档