电力系统分析课程设计五节点潮流计算.docx
《电力系统分析课程设计五节点潮流计算.docx》由会员分享,可在线阅读,更多相关《电力系统分析课程设计五节点潮流计算.docx(17页珍藏版)》请在冰豆网上搜索。
![电力系统分析课程设计五节点潮流计算.docx](https://file1.bdocx.com/fileroot1/2023-2/1/fddeea9f-8416-479c-b8e5-757d528ee27f/fddeea9f-8416-479c-b8e5-757d528ee27f1.gif)
电力系统分析课程设计五节点潮流计算
电力系统分析综合实训报告
课题名称:
基于N-R法的电力系统潮流计算
小组成员:
王劲凯、周李、唐天赐、周镇、胡永健、徐再祥
专业班级:
电气工程及其自动化161
*******
实习时间:
2018年12月
课题:
《基于N-R法的电力系统潮流计算》
如图所示,一个5节点系统,已知节点5为平衡节点,节点1为PV节点,其余为PQ节点。
以100MVA为基准的标幺值支路数据如表1所示。
给定电压的初始值如表2所示,收敛系数
,请利用牛顿-拉夫逊法计算图中网络的潮流分布。
任务分配
组员姓名
学号
承担的主要工作
成绩
王劲凯
2601160127
总体方案设计
周李
2601160141
仿真及算法对比
唐天赐
2601160125
查找文献及资料
周镇
2601160142
过程注释及修改
胡永健
2606160109
正文编辑与整理
徐再祥
2502150330
程序编写与调试
摘要:
本文针对复杂电力系统潮流的分析问题,分别介绍了几种常用的潮流计算方法:
牛顿-拉夫逊法、高斯-赛德尔法和PQ分解法。
也分别对比这三种方法的优缺点以及算法原理,其中,本文对N-R法进行重点探讨,详述了其基本原理以及算法过程。
在这项设计中,我们选用了MATLAB开发潮流计算设计程序,通过对五节点电力系统进行仿真,得出了N-R法收敛速度快,误差小的特点。
关键词:
N-R法潮流计算;雅克比矩阵;MATLAB;节点;仿真
一、研究背景及意义
原先电力系统潮流计算是通过人工计算的。
后来为了适应电力系统日益发展的需要,采用了交流计算台.随着电子数字计算机的出现,1956年Ward等人编制了实际可行的计算机潮流计算程序。
这样,就为日趋复杂的大规模电力系;统提供了极其有力的计算手段。
经过几十年的发展,电力系统潮流计算已经十分成熟。
电力系统潮流计算形式分为离线计算和在线计算两种。
前者主要用于电力系统规划设计、安排系统的运行方式;后者则用于正在运行系统的实时监视和实时控制。
在计算原理上离线和在线潮流计算是相同的,都要求满足以下几点:
①计算方法可靠,收敛性好;②占用较少的计算机内存;③计算速度高。
近年来,又发展了N-R法,它的迭代次数少,收敛速度快。
MATLAB软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境。
本文采用MATLAB语言编程仿真5节点算例[1]。
二、潮流计算方法分析
电力系统三种潮流计算方法[2]的比较:
2.1高斯-赛德尔迭代法:
以导纳矩阵为基础,并应用高斯--塞德尔迭代的算法是在电力系统中最早得到应用的潮流计算方法,目前高斯一塞德尔法已很少使用。
优点:
1.原理简单,程序设计十分容易。
2.导纳矩阵是一个对称且高度稀疏的矩阵,因此占用内存非常节省。
3.就每次迭代所需的计算量而言,是各种潮流算法中最小的,并且和网络所包含的节点数成正比关系。
缺点:
1.收敛速度很慢。
2.对病态条件系统,计算往往会发生收敛困难:
如节点间相位角差很大的重负荷系统、包含有负电抗支路(如某些三绕组变压器或线路串联电容等)的系统、具有较长的辐射形线路的系统、长线路与短线路接在同一节点上,而且长短线路的长度比值又很大的系统。
3.平衡节点所在位置的不同选择,也会影响到收敛性能。
2.2P-Q分解法:
电力系统中常用的PQ分解法派生于以极坐标表示的牛顿—拉夫逊法,其基本思想是把节点功率表示为电压向量的极坐标形式,以有功功率误差作为修正电压向量角度的依据,以无功功率误差作为修正电压幅值的依据,把有功和无功分开进行迭代其主要特点是以一个(n-1)阶和一个m阶不变的、对称的系数矩阵B,B'''代替原来的(n+m-1)阶变化的、不对称的系数矩阵M,以此提高计算速度,降低对计算机贮存容量的要求。
P-Q分解法在计算速度方面有显著的提高,迅速得到了推广。
2.3N-R法:
牛顿法是数学中求解非线性方程式的典型方法,有较好的收敛性。
自从20世纪60年代中期采用了最佳顺序消去法以后,牛顿法在收敛性、内存要求、计算速度方面都超过了其他方法,成为直到目前仍被广泛采用的方法。
优点:
1.收敛速度快,若选择到一个较好的初值,算法将具有平方收敛特性,一般迭代4—5次便可以收敛到一个非常精确的解。
而且其迭代次数与所计算网络的规模基本无关。
2.具有良好的收敛可靠性,对于前面提到的对以节点导纳矩阵为基础的高斯一塞德尔法呈病态的系统,牛顿法均能可靠地收敛。
3.牛顿法所需的内存量及每次迭代所需时间均较前述的高斯一塞德尔法为多,并与程序设计技巧有密切关系。
缺点:
牛顿法的可靠收敛取决于有一个良好的启动初值。
如果初值选择不当,算法有可能根本不收敛或收敛到一个无法运行的解点上。
三、总体方案
3.1N-R法基本原理
N-R法[2]在数学上是求解非线性代数方程式的有效方法。
其要点是把非线性方程式的求解过程变成反复地对相应的线性方程式进行求解的过程。
即通常所称的逐次线性化过程。
对于非线性代数方程组:
f(x)=0即
(3-2-1)
在待求量x的某一个初始估计值
附近,将上式展开成泰勒级数并略去二阶及以上的高阶项,得到如下的经线性化的方程组:
(3-2-2)
上式称之为牛顿法的修正方程式。
由此可以求得第一次迭代的修正量
(3-2-3)
将
和
相加,得到变量的第一次改进值
。
接着就从
出发,重复上述计算过程。
因此从一定的初值
出发,应用牛顿法求解的迭代格式为:
(3-2-4)
(3-2-5)
上两式中:
是函数
对于变量x的一阶偏导数矩阵,即雅可比矩阵J—k为迭代次数。
由上式可见,牛顿法的核心便是反复形式并求解修正方程式。
牛顿法当初始估计值和方程的精确解足够接近时,收敛速度非常快,具有平方收敛特性。
牛顿潮流算法突出的优点是收敛速度快,若选择到一个较好的初值,算法将具有平方收敛特性,一般迭代4~5次便可以收敛到一个非常精确的解。
而且其迭代次数与所计算网络的规模基本无关。
牛顿法也具有良好的收敛可靠性,对于对以节点导纳矩阵为基础的高斯法呈病态的系统,牛顿法也能可靠收敛。
牛顿法所需的内存量及每次迭代所需时间均较高斯法多。
牛顿法的可靠收敛取决于有一个良好的启动初值。
如果初值选择不当,算法有可能根本不收敛或收敛到一个无法运行的节点上。
对于正常运行的系统,各节点电压一般均在额定值附近,偏移不会太大,并且各节点间的相位角差也不大,所以对各节点可以采用统一的电压初值(也称为平直电压),但若系统因无功紧张或其它原因导致电压质量很差或有重载线路而节点间角差很大时,仍用上述初始电压就有可能出现问题。
解决这个问题的办法可以用高斯法迭代1~2次,以此迭代结果作为牛顿法的初值。
也可以先用直流法潮流求解一次以求得一个较好的角度初值,然后转入牛顿法迭代。
3.2N-R法潮流求解过程
以下讨论的是用直角坐标形式[3]的牛顿—拉夫逊法潮流的求解过程。
当采用直角坐标时,潮流问题的待求量为各节点电压的实部和虚部两个分量
由于平衡点的电压向是给定的,此时共需要2(n-1)个方程式。
事实上,除了平衡节点的功率方程式在迭代过程中没有约束作用以外,其余每个节点都可以列出两个方程式。
对PQ节点来说
和
是给定的,因而可以写出
(3-3-1)
对PV节点来说,给定量是
和
,因此可以列出
(3-3-2)
3.3求解过程
求解过程大致可以分为以下步骤:
(1)形成节点导纳矩阵
(2)将各节点电压设初值U,
(3)将节点初值代入相关求式,求出修正方程式的常数项向量
(4)将节点电压初值代入求式,求出雅可比矩阵元素
(5)求解修正方程,求修正向量
(6)求取节点电压的新值
(7)检查是否收敛,如不收敛,则以各节点电压的新值作为初值自第3步重新开始进行狭义次迭代,否则转入下一步
(8)计算支路功率分布,PV节点无功功率和平衡节点注入功率。
以直角坐标系形式表示迭代推算式,采用直角坐标时,节点电压相量及复数导纳可表示为:
(3-4-1)
将以上二关系式代入上式中,展开并分开实部和虚部;假定系统中的第1,2,
,m号为P—Q节点,m+1,m+2,
,n-1为P—V节点,根据节点性质的不同,得到如下迭代推算式:
对于PQ节点
(3-4-2)
对于PV节点
i=1,2,…,m(3-4-3)
对于平衡节点
平衡节点只设一个,电压为已知,不参见迭代,其电压为:
(3-4-4)
雅可比矩阵各元素的算式
雅可比矩阵中的各元素可通过对式(3-4-2)和(3-4-3)进行偏导而求得.当
时,雅比矩阵中非对角元素为
(3-4-5)
当
时,雅可比矩阵中对角元素为:
(3-4-6)
1.阵中各元素是节点电压的函数,在迭代过程中,这些元素随着节点电压的变化而变化;
⒉导纳矩阵中的某些非对角元素为零时,雅可比矩阵中对应的元素也是为零。
若
,则必有
;
⒊雅可比矩阵不是对称矩阵;(i=q1,2,…,n,i≠s)
雅可比矩阵各元素的表示如下:
(3-4-7)
四、算法流程图及仿真结果
4.1MATLAB[4]的功能特点[4]及算法流程
对于本课题经过分析和计算流程图如下,再运用MATLAB进行仿真。
使用MATLAB命令求积分不仅可对已知解析表达式的函数进行积分,还可以对一些离散点的数据进行积分(近似值),通过输入简单的命令就可得到结果,轻松完成手工计算难以处理的含有大量数据的工作。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB工具包都是现成的,调用一下很方便MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连MATLAB开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
4.2仿真结果分析
雅可比矩阵如图4-1所示
图4-1雅克比矩阵
雅克比矩阵[5]是一阶偏导数以一定的方式排列成的矩阵,雅克比矩阵可以用来体现一个可微方程与给定的某个点的最佳线性逼近。
这是一个五节点系统,其雅克比矩阵为8X8,随着迭代次数的不断增加,期间是对最佳结果的不断逼近过程。
电压标幺值、相角偏移量及迭代次数如图4-2所示
图4-2电压标幺值、相角偏移量及迭代次数
由上图可得,只需要迭代四次便能得出结果,非常符合N-R法计算特点-收敛速度快;结果U=1.05,e=0与电网实际结果十分接近非常精确。
五、总结
1、本次的系统为五节点系统,包括一个PV节点,三个PQ节点以及一个平衡节点,需要对其建立一个8X8雅克比矩阵。
2、上网查阅资料对三种潮流计算方法的特点有了简单的了解。
3、查阅文献后对N-R法有了更加深入的了解,并且通过自己的实验对其收敛速度快的特点有了深刻了解,尤其是雅克比矩阵的迭代计算,十分迅速精准。
4、使用了MATLAB7.1语言进行潮流计算,对输入功率以及节点电压进行了相应的修改,尤其是其中的节点变换,由1,2,3,4,5变换为5,4,3,2,1。
并且了解到了MATLAB计算的便捷性和实用性。
5、小组成员分工明确并且都能快速地完成自己的相应任务,很快就达到了我们的预期目标。
六、参考文献
[1]吴际舜,侯志俭.电力系统潮流计算的计算机方法[C].水利电力出版社
[2]房俊龙,黄丽华,纪建伟,孙国凯.电力系统分析[M].中国水利水电出版社
[3]祝淑萍.电力系统分析课程设计综合实验[M].中国电力出版社
[4]苏金明,王永利.MATLAB实用指南[M].电子工业出版社
[5]王解先,徐志京.坐标间转换的雅可比矩阵数值导数计算方法[J].大地测量与地球动力学
附录
clear;clc
%重新编号,把原题中的节点1,2,3,4,5重新依次为5,1,2,3,4,其中1-3号为PQ节点,4是PV节点,5号为平衡节点
y=0;
%输入原始数据,求节点导纳矩阵
y(1,2)=1/(0.01+0.04i);y(1,3)=0;y(1,4)=1/(0.06+0.18i);
y(1,5)=1/(0.08+0.24i);y(1,6)=0.055i;
y(2,3)=1/(0.08+0.24i);y(2,4)=1/(0.05+0.16i);y(2,5)=0;y(2,6)=0.055i;
y(3,4)=1/(0.04+0.12i);y(3,5)=0;y(3,6)=0.025i;
y(4,5)=1/(0.02+0.06i);y(4,6)=0.065i;
y(5,6)=0.05i;
fori=1:
6
forj=i:
6
y(j,i)=y(i,j);
end
end
Y=0;
%求互导纳
fori=1:
5
forj=1:
5
ifi~=j
Y(i,j)=-y(i,j);
end
end
end
%求自导纳
fori=1:
6
Y(i,i)=sum(y(i,:
));
end
Y(6,6)=0;
Y;%Y为导纳矩阵
G=real(Y);
B=imag(Y);
%原始节点功率
S
(1)=0.45+0.15i;
S
(2)=0.40+0.05i;
S(3)=0.60+0.10i;
S(4)=0.20;
S(5)=0;
P=real(S);
Q=imag(S);
%赋初值
U=ones(1,5);U(5)=1.05;
e=zeros(1,5);
ox=ones(8,1);fx=ones(8,1);
count=0%计算迭代次数
whilemax(fx)>1e-5
fori=1:
4
forj=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
fori=1:
4
forj=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)));
end
oP(i)=oP(i)+P(i);oQ(i)=oQ(i)+Q(i);
end
fx=[oP,oQ]';
%求雅可比矩阵
%当i~=j时,求H、N、M、L如下
fori=1:
4
forj=1:
4
ifi~=jH(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如下
fori=1:
4
forj=1:
5
ifi~=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)));
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)));
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);
fori=1:
4
oe(i)=ox(i);oU(i)=ox(i+4)*U(i);
end
fori=1:
4
e(i)=e(i)+oe(i);U(i)=U(i)+oU(i);
end
U(5)=1.05;
count=count+1;
end
ox,U,e,count
%求节点注入净功率
i=5;
forj=1:
5
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);
end
forj=1:
5
Q(4)=U(4)*U(j)*(G(4,j)*sin(e(4)-e(j))-B(4,j)*cos(e(4)-e(j)));
end
S(4)=P(4)+Q(4)*sqrt(-1);
S(5)=P(5)+Q(5)*sqrt(-1);
S