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

电力系统潮流计算matlab程序电力系统潮流计算是电力系统运行和规划中的重要环节,它用于计算电力系统中各节点的电压、功率和电流等参数。
随着电力系统规模的不断扩大和复杂性的增加,传统的手工计算方法已经无法满足需求,因此,利用计算机编程进行潮流计算成为了一种必要的选择。
Matlab是一种功能强大的科学计算软件,它提供了丰富的数学函数和工具箱,可以方便地进行电力系统潮流计算。
下面我将介绍一下如何使用Matlab编写电力系统潮流计算程序。
首先,我们需要建立电力系统的节点模型。
节点模型是电力系统中各节点的电压、功率和电流等参数的数学表示。
在Matlab中,我们可以使用矩阵来表示节点模型。
假设电力系统有n个节点,我们可以定义一个n×n的复数矩阵Y来表示节点之间的导纳关系,其中Y(i,j)表示节点i和节点j之间的导纳。
同时,我们还需要定义一个n×1的复数向量V来表示各节点的电压,其中V(i)表示节点i的电压。
接下来,我们需要编写潮流计算的主程序。
主程序的主要功能是根据节点模型和潮流计算算法,计算出各节点的电压、功率和电流等参数。
在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在电力系统仿真中的应用。
模型构建与数据处理:详细阐述潮流计算仿真中的模型构建过程,以及对系统数据的处理和准备。
仿真结果与分析:展示仿真计算得到的结果,并进行相应的分析和讨论。
优化方案提出与评估:根据仿真结果,提出相应的优化方案,并进行评估和比较。
结论与展望:总结全文的研究内容和结论,并展望未来进一步的研究方向。
通过本文的研究和分析,我们将深入了解电力系统潮流计算仿真分析的原理和方法,为电力系统的优化和运行提供有效的技术支持。
本部分将介绍电力系统的组成,包括发电机组、输电网和配电网等,以及相关概念和术语,为后续的潮流计算仿真分析奠定基础。
潮流计算是电力系统中重要的分析方法,用于计算系统中各节点的电压幅值和相角,以及线路和设备的功率潮流分布。
潮流计算的基本原理是建立节点潮流方程和数学模型,通过求解这些方程来得到系统的潮流状态。
节点潮流方程节点潮流方程描述了电力系统中各节点的电压和功率之间的关系。
基于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

目录:一、软件需求说明书......................................................... .. (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代码

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。
MATPOWER潮流计算使用说明

MATPOWER潮流计算使用说明一、MATPOWER安装和加载数据2.打开MATLAB软件,并在命令行上输入以下命令来加载MATPOWER软件包:```matlabaddpath(genpath('<MATPOWER安装路径>'))```注意,需要将`"<MATPOWER安装路径>"`替换为你的MATPOWER软件的安装路径。
3.加载示例数据集。
MATPOWER提供了一些示例数据集,可以直接使用这些数据集进行潮流计算。
```matlabcase9```这将加载一个名为`case9`的数据集,它包含一个9节点的电力系统。
二、设置潮流计算参数在进行潮流计算之前,需要设置一些潮流计算的参数,包括:1.潮流计算算法:MATPOWER提供了不同的潮流计算算法,如牛顿-拉夫逊法(NR)和次梯度法(SC)等。
可以使用以下命令来设置潮流计算算法:mpopt = mpoption('pf.alg', '<算法名称>')```这里`<算法名称>`可以是`'NR'`或`'SC'`。
2.潮流计算收敛条件:通过设置收敛条件,可以控制潮流计算的准确性和计算时间。
以下是一些设置收敛条件的命令:```matlabmpopt = mpoption(mpopt, 'pf.tol', <收敛容限>)```这里`<收敛容限>`是一个小的正数,用于判断潮流计算是否收敛。
默认值为1e-6```matlabmpopt = mpoption(mpopt, 'pf.nr.max_it', <最大迭代次数>)```这里`<最大迭代次数>`是一个整数,用于限制牛顿-拉夫逊法的最大迭代次数。
默认值为20。
三、执行潮流计算在设置好潮流计算参数之后,可以执行潮流计算。
电力系统分析大作业matlab三机九节点潮流计算报告

电力系统分析大作业一、设计题目本次设计题目选自课本第五章例5-8,美国西部联合电网WSCC系统的简化三机九节点系统,例题中已经给出了潮流结果,计算结果可以与之对照。
取ε=0。
00001 。
二、计算步骤第一步,为了方便编程,修改节点的序号,将平衡节点放在最后。
如下图:9第二步,这样得出的系统参数如下表所示:第三步,形成节点导纳矩阵。
第四步,设定初值:;,。
第五步,计算失配功率=0,=—1。
25,=-0。
9,=0,=-1,=0,=1.63,=0。
85;=0.8614,=-0.2590,=-0。
0420,=0。
6275,=-0。
1710,=0.7101。
显然,。
第六步,形成雅克比矩阵(阶数为14×14)第七步,解修正方程,得到:-0.0371,-0。
0668,—0。
0628,0。
0732,0.0191,0.0422,0.1726,0.0908;0.0334,0.0084,0。
0223,0.0372,0。
0266,0。
0400。
从而-0。
0371,—0。
0668,—0。
0628,0.0732,0.0191,0。
0422,0。
1726,0.0908;1。
0334,1。
0084,1.0223,1.0372,1.0266,1。
0400。
然后转入下一次迭代。
经三次迭代后.迭代过程中节点电压变化情况如下表:迭代收敛后各节点的电压和功率:最后得出迭代收敛后各支路的功率和功率损耗:三、源程序及注释由于计算流程比较简单,所以编写程序过程中没有采用模块化的形式,直接按顺序一步步进行。
disp('【节点数:】');[n1]=xlsread(’input。
xls’,'A3:A3')%节点数disp('【支路数:】’);[n]=xlsread('input。
xls’,’B3:B3’)%支路数disp('【精度:】');Accuracy=xlsread('input。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。
四、设计内容2.程序clear;clc%重新编号,把原题中的节点1,2,3,4,5重新依次编号为5,1,2,3,4,其中1-4号为PQ节点,5号为平衡节点%输入原始数据,求节点导纳矩阵y (1,2)=1/(0.06+0.18i); y (1,3)=1/(0.06+0.18i); y (1,4)=1/(0.04+0.12i);y(1,5)=1/(0.02+0.06i);y(2,3)=1/(0.01+0.03i);y(2,5)=1/(0.08+0.24i);y(3,4)=1/(0.08+0.24i);y(4,5)=0;for i=1:5for j=i:5y(j,i)=y(i,j);endendY=0;%求互导纳for i=1:5for j=1:5if i~=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:5Y(i,i)=sum(y(i,:));endY %Y 为导纳矩阵G=real(Y);B=imag(Y);%原始节点功率S(1)=0.2+0.2i;S(2)=-0.45-0.15i;S(3)=-0.4-0.05i;S(4)=-0.6-0.1i;S(5)=0;P=real(S);Q=imag(S);%赋初值U=ones(1,5);U(5)=1.06;e=zeros(1,5);ox=ones(8,1);fx=ones(8,1);count=0 %计算迭代次数while max(fx)>1e-5for i=1:4for j=1:4H(i,j)=0;N(i,j)=0;M(i,j)=0;L(i,j)=0;oP(i)=0;oQ(i)=0;endfor j=1:5oP(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)));endoP(i)=oP(i)+P(i); oQ(i)=oQ(i)+Q(i);endfx=[oP,oQ]';%求雅克比矩阵%当i~=j时候求H,N,M,L 如下:for i=1:4for j=1:4if 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);endendendH,N,M,L%当i=j 时H,N,M,L如下:for i=1:4for j=1:5if i~=jH(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)));M(i,i)=M(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)));endendN(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);endJ=[H,N;M,L] %J 为雅克比矩阵ox=-((inv(J))*fx);for i=1:4oe(i)=ox(i); oU(i)=ox(i+4)*U(i);endfor i=1:4e(i)=e(i)+oe(i); U(i)=U(i)+oU(i);endcount=count+1;endox,U,e,count%求节点注入的净功率P(i)=U(i)*U(j)*(G(i,j)*cos(e(i)-e(j))+B(i,j)*sin(e(i)-e(j)))+P(i);Q(i)=U(i)*U(j)*(G(i,j)*sin(e(i)-e(j))-B(i,j)*cos(e(i)-e(j)))+Q(i);endS(5)=P(5)+Q(5)*sqrt(-1);S%求节点注入电流I=Y*U'3.运行结果Y值:迭代过程:电压值:平衡节点注入功率及电流:在电力系统分析课程中,我们学习了电力网络的数学模型和确定解算方法。
在本次课程设计中我们利用前面的基础知识进行制定计算流程和编制计算程序,实践了牛顿-拉夫逊法,体会到其用性。
根据潮流计算的基本要求,对潮流计算可归纳为下面几点:(1)计算方法的可靠性或收敛性;(2)对计算速度和内存量的要求;(3)计算的方便性和灵活性。
基于这几点采用了Matlab进行编程计算。
电力系统潮流计算都是基于矩阵的迭代运算,而Matlab 语言正是以处理矩阵见长,实践证明,Matlab 语言在电力系统潮流计算仿真研究中的应用是可行的,而且由于其强大的矩阵处理功能,完全可以应用于电力系统的其它分析计算中,用Matlab语言编程效率高,程序调试十分方便。