电力系统分析潮流计算课程序设计与其MATLAB程序设计Word文档下载推荐.docx
《电力系统分析潮流计算课程序设计与其MATLAB程序设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电力系统分析潮流计算课程序设计与其MATLAB程序设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
及电压质量要求。
(4)预想事故、设备退出运行对静态安全的影响分析及作出预想的运行方式调整方案。
图113节点配电网结构图
表1系统支路参数
支路
R(Ω)
X(Ω)
B/2(TK)(S)
1~2
3.367
3.685
0.0
2~3
2.356
2.541
3~4
1.145
1.28
4~5
4.524
5.04
2~6
0.856
1.14
6~7
2.745
2.965
2~8
3.743
4.251
8~9
2.237
2.756
3~10
4.14
4.696
3~11
1.328
1.763
11~12
2.436
2.866
4~13
3.521
3.966
表2系统负荷参数
节点编号
节点类型
节点初始电(kV)
Pi(MVA)
Qi(MVA)
1
根节点
10.4
2
中间节点
10.0
0.0342
0.0301
3
0.0693
0.0642
4
0.0845
0.0763
5
叶节点
0.0295
0.0261
6
0.0474
0.0409
7
0.1176
0.0957
8
0.0946
0.0857
9
0.0916
0.0859
10
0.0271
0.0229
11
0.0696
0.0643
12
0.0676
0.0579
13
0.0298
0.0242
二、程序设计要求
1.看懂前推回代法计算程序;
2.报告叙述计算原理及计算流程;
3.绘制计算流程框图;
4.确定前推回代支路次序(广度优先,或深度优先)并编写前推回代计算输入文件,然后进行潮流计算;
5.整理专利计算结果;
6.总结配电网潮流计算的要点;
三、设计内容
1.根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;
2.赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;
3.形成雅可比矩阵;
4.求解修正量后,重新修改初值,从2开始重新循环计算;
5.求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和节点
6.上机编程调试;
连调;
7.计算分析给定系统潮流分析并与手工计算结果作比较分析。
8.准备计算机演示答辩,书写该课程设计说明书(必须计算机打印)
四、13节点配网潮流计算
4.1牛拉法的原理及其基本方程
牛顿迭代法(Newton'
smethod)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphsonmethod),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)f'
(x0)(x-x0),求出L与x轴交点的横坐标x1=x0-f(x0)/f'
(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标x2=x1-f(x1)/f'
(x1),称x2为r的二次近似值。
重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'
(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。
解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。
把f(x)在x0点附近展开成泰勒级数f(x)=f(x0)+(x-x0)f'
(x0)+(x-x0)^2*f'
'
(x0)/2!
+…取其线性部分,作为非线性方程f(x)=0的近似方程,即泰勒展开的前两项,则有f(x0)+f'
(x0)(x-x0)=f(x)=0设f'
(x0)≠0则其解为x1=x0-f(x0)/f'
(x0)这样,得到牛顿法的一个迭代序列:
x(n+1)=x(n)-f(x(n))/f'
(x(n))。
4.2PQ分解法的原理及其基本方程
PQ分解法的基本思想是根据电力系统实际运行特点:
通常网络上的电抗远大于电阻值,则系统母线电压幅值的微小变化
对母线有功功率的改变
影响很小。
同样,母线电压相角的少许改变
,也不会引起母线有功功率的明显改变
,因此,节点功率方程在用极坐标形式表示时,它的修正方程式可简化为
(2-1)
这就是把2(n-1)阶的线性方程组变成了两个n-1阶的线性方程组,将P和Q分开来进行迭代计算,因而大大地减少了计算工作量。
但是H、L在迭代过程中仍然在不断的变化而且又都是不对称矩阵。
对牛顿法的进一步简化,即把式(2-1)中的系数矩阵简化为在迭代过程中不变的对称矩阵。
在一般情况下,线路两端的电压相角
是不大的(不超过10°
~20°
),因此,可以认为
(2-2)
此外,与系统各节点无功功率相应的导纳
远小于该节点自导纳的虚部,即
因而
(2-3)
考虑到以上关系,式(2-1)的系数矩阵中的个元素可以表示为
(i,j=1,2,…,n-1)
(i,j=1,2,…,m)
而系数矩阵H和L则可以分别写成:
(2-4)
(2-5)
将式(2-4)和(2-5)代人式
中,得到
用
和
分别左乘以上两式,便得
(2-6)
(2-7)
这就是简化了的修正方程式,它们也可以展开写成
(2-8)
(2-9)
在这两个修正方程式中系数矩阵元素就是系统导纳矩阵的虚部,因而系数矩阵是对称矩阵,且在迭代过程中保持不变。
这就大大减少了计算工作量。
用极坐标表示的节点功率增量为
(2-10)
式(2-8)、(2-9)和(2-10)构成了PQ分解法迭代过程的基本方程式。
4.3配网前推后代潮流计算的原理
前推回代法在配电网潮流计算中简单实用,所有的数据都是以矢量形式存储,因此节省了大量的计算机内存,对于任何种类的配电网只要有合理的R/X值,此方法均可保证收敛。
算法的稳定性也是评价配电网潮流算法的重要指标。
一般情况下,算法的收敛阶数越高,算法的稳定性越差,前推回代法的收敛阶数为一阶,因此它也具有较好的稳定性。
比较而言,前推回代法充分利用了网络呈辐射状的结构特点,数据处理简单,计算效率高,具有较好的收敛性,被公认是求解辐射状配电网潮流问题的最佳算法之一。
4.4配网前推后代潮流计算迭代过程
配网潮流前推回代潮流算法第n+1步的迭代公式如下:
节点i的前推计算公式为
由图1可知节点i+1的注入有功功率和无功功率分别为:
NBNB-1
P(i+1)=∑PL(j)+∑LP(j)
Q(i+1)=∑QL(j)+∑LQ(j)
其中:
i=1,2,。
。
NB-1,NB为节点数,PL(i)为第i节点所带负荷有功功率;
QL(i)为第i节点所带负荷无功功率;
LP(i)为第i条线段上的有功功率损耗;
LQ(i)为第i条线段上的无功功率损耗。
收敛条件
以前后两次迭代的电压偏差作为迭代收敛条件,(8)式表明节点电压幅值最大偏差小于设定阈值,即认为迭代收敛,则迭代过程结束。
max{|Vk(i)-Vk-1(i)|}<
ε.(8)
在开始计算的时候先把各节点上的LP(i)、LQ(i)分别设为零,利用式
(1)计算出P(i+1)、Q(i+1),分别代入式(6)计算各节点电压幅值,作为初始化的节点电压值.然后把此电压值代入公式
(2)来修正线路的损耗LP(i)、LQ(i),用经过修正的线路损耗求新的节点注入功率,再根据节点注入功率求新的节点电压,根据前后两次迭代的电压偏差是否小于设定阈值判断是否收敛,如果满足,则输出结果,如果不满足,必须重复上述过程直到满足收敛条件为止。
4.5计算原理
第一步,从与叶节点联系的支路开始,该支路的末端功率即等于叶节点功率,利用这个功率和对应的节点电压计算支路功率损耗,求得支路的首端功率。
当以某节点为始节点的各支路都计算完毕后,便想象将这些支路都拆去,是的该节点成为新的叶节点,其节点功率等于原有的负荷功率与该节点为始节点的各支路首端功率之和。
于是计算便可延续下去,直到全部支路计算完毕。
第二步,利用第一步所得的支路首端功率和本步骤刚算出的本支路始节点的电压(对电源点为已知电压),从电源点开始逐条支路进行计算,求得各支路终节点的电压。
在迭代计算开始之前,要先处理好支路的计算顺序问题。
介绍两种确定之路计算顺序的方法。
第一种方法是,按与叶节点联接的之路顺序,并将已排序的之路拆除,在此过程中将不断出现新的叶节点,而与其联接的支路又加入排序行列。
这样就可以全部排列好从叶节点向电源点计算功率损耗的支路顺序。
其逆序就是进行电压计算的支路顺序。
第二种是逐条追加支路的方法。
首先从根节点(电源点)开始接出第一条支路,引出一个新节点,以后每次追加的支路都必须从已出现的节点接出遵循这个原则逐条追加支路,直到全部支路追加完毕。
所得到的支路追加顺序即是进行电压计算的支路顺序,其逆序便是功率损耗计算的支路顺序。
5、计算框图流程
6、
六、前推回代计算输入文件
[PQ,FT,RX]=case115();
%调用数据文件
NN=size(PQ,1);
%节点数
NB=size(FT,1);
%支路数数
V=PQ(:
1);
%V初始电压相量
maxd=1
k=0;
whilemaxd>
0.0001
PQ2=PQ;
%每一次迭代各节点的注入有功和无功相同
PL=0.0;
fori=1:
NB
kf=FT(i,1);
%前推始节点号
kt=FT(i,2);
%前推终节点号
x=(PQ2(kf,2)^2+PQ2(kf,3)^2)/(V(kf)^2);
%计算沿线电流平方A
PQ1(i,1)=RX(i,1)*x+PQ2(kf,2);
%计算支路首端有功/MWRX(i,1)~R
PQ1(i,2)=RX(i,2)*x+PQ2(kf,3);
%计算沿支路的无功损耗/MvarRX(i,2)~X
PQ2(kt,2)=PQ2(kt,2)+PQ1(i,1);
%用PQ1去修正支路末端节点的有功P单位MW
PQ2(kt,3)=PQ2(kt,3)+PQ1(i,2);
%用PQ1去修正支路末端节点的有功Q单位Mvar
PL=PL+RX(i,1)*x;
%累积计算整个网络的功率损耗
end
angle
(1)=0.0;
fori=NB:
-1:
kf=FT(i,2);
%回代始节点号
kt=FT(i,1);
%回代终节点号
dv1=(PQ1(i,1)*RX(i,1)+PQ1(i,2)*RX(i,2))/V(kf);
%计算支路电压损耗的纵分量dv1
dv2=(PQ1(i,1)*RX(i,2)-PQ1(i,2)*RX(i,1))/V(kf);
%计算支路电压损耗的横分量dv2
V2(kt)=sqrt((V(kf)-dv1)^2+(dv2)^2);
%计算支路末端电压/kV
angle(kt)=atand(dv2/(V(kf)-dv1))+angle(kf);
%计算支路电压相角(单位度)
maxd=abs(V2
(2)-V
(2));
V2
(1)=V
(1);
fori=3:
1:
NN
ifabs(V2(i)-V(i))>
maxd;
maxd=abs(V2(i)-V(i));
end
maxd
k=k+1
PQ1%潮流分布即支路首端潮流MVA
V=V2%节点电压模计算结果kV
angle%节点电压角度计算结果单位度
PL%网损单位MW
clear
function[PQ,FT,RX]=case115()
PQ=[
%节点电压有功无功
10.400
10.00.03420.0301
10.00.06930.0642
10.00.08450.0763
10.00.02950.0261
10.00.04740.0409
10.00.11760.0957
10.00.09460.0857
10.00.09160.0859
10.00.02710.0229
10.00.06960.0643
10.00.06760.0579
10.00.02980.0242
];
FT=[
%首端末端
54
134
1211
43
103
113
76
98
32
62
82
21
RX=[
%RX
4.5245.04
3.5213.966
2.4362.866
1.1451.28
4.144.696
1.3281.763
2.7452.965
2.2372.756
2.3562.541
0.8561.14
3.7434.251
3.3673.685
k=8
PQ1=
0.02960.0262
0.02990.0243
0.06780.0581
0.14440.1273
0.02720.0230
0.13790.1231
0.11830.0964
0.09200.0864
0.38520.3445
0.16610.1379
0.18910.1750
0.81160.7278
V=10.40009.87959.69919.66529.63779.84929.78729.73269.68709.67649.65789.62359.6444
angle=00.30110.40110.42500.44380.34310.39420.38990.42660.42090.44980.48230.4452
PL=0.0488
经过8次迭代,各节点的电压误差均在0.0001kv以内,计算到此结束。
七、配电网潮流计算的要点
1.需要注意系统中所有母线的电压是否在允许的范围以内。
2.系统中各种元件(线路、变压器等)是否会出现过负荷。
3.在进行电压和功率分布计算以前,先要对网络等值电路作些简化处理。
4.确立前推回代的计算次序。
5.在开始编写程序之前,要了解matlab仿真软件,包括其程序的编写,程序的运行,我们都要清楚的知道
6.为了提高计算精度,重复计算,给出一个容许误差作为计算的收敛的判据。
八、自我总结
此次课程设计首先让我明白了要使电力系统运行的稳定,必须经过精密的设计和计算。
在进行课题设计的过程中,加深了我对潮流计算的认识,尤其是对牛顿拉夫逊潮流计算的求解思路有了比较透彻的理解。
在此次程序设计中,我在MATLAB编程,13节点配电网潮流计算,WORD文档的编辑方面均有所提高,之前学过的潮流计算仅限于书本,通过完成这个作业使我对这块知识了解得更加全面,但也暴露出了一些问题:
理论知识还是不足,基本知识不充足,做起这个大作业难度还是很大的,对MATLAB的性能和特点还不能有一个全面的把握,相信通过以后的学习能弥补这些不足,从而达到一个新的层次。
在过程设计中我发现了一些要点,要求得支路的首端功率,从与叶节点联接的支路开始,该支路的末端功率即等于叶节点功率,利用这个功率和对应的节点电压计算支路功率损耗,才能求首段功率。
还有在迭代计算开始之前,先要确定支路的计算顺序问题,即确定好是深度优先还是广度优先。
要求得各支路终结点的电压的话利用上述所得的支路首端功率和本步骤刚算出的本支路始节点的电压,从电源点开始逐条支路进行计算。
而且在此次课程设计中,我发现了自己的基础知识有很多的不足。
这些基础的缺乏给我的设计计划造成了不小的障碍。
在这个过程中,我明白了,只要用心去做,认直去做,持之以恒,就会有新的发现,有意外的收获。
虽然很多错误被克服了,但是系统中难免还有很多不足之处,有些地方感觉做的不是很正确,希望在以后的学习中能够在同学们的帮助和老师的指导下做得更好。
九、参考文献
[1]何仰赞温增银.电力系统分析.华中科技大学出版社,2002
[2]蔡旭晖、刘卫国、蔡立燕.
MATLAB基础与应用教程[D].
北京:
人民邮电出版社
2009
附录一MATLAB的简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型问题。