完整word版基于MATLAB进行潮流计算.docx
《完整word版基于MATLAB进行潮流计算.docx》由会员分享,可在线阅读,更多相关《完整word版基于MATLAB进行潮流计算.docx(14页珍藏版)》请在冰豆网上搜索。
完整word版基于MATLAB进行潮流计算
基于MATLAB进行潮流计算
学生:
王仕龙2011148213
指导老师:
李咸善
摘要:
电力系统潮流计算方法有两类,即手算潮流和计算机潮流计算。
手算潮流主要借助于形成简化的等值电路来实现,这种方法尤其适用于规模不大的辐射型电力潮流计算。
计算机潮流计算的实现有两种途径:
其一是编程实现网络方程的迭代求解;其二是借助与电力系统分析仿真软件,搭建系统模型来完成潮流计算。
MATLAB具有强大的矩阵运算功能,同时其具有电力系统仿真平台也为直观地实现潮流计算提供了更便捷的手段[1]。
本文是基于MATLAB软件,采用极坐标形式牛顿─拉夫逊法进行潮流计算,为其他形式的潮流计算有借鉴的作用。
关键词:
电力系统;计算机潮流计算;MATLAB;牛顿─拉夫逊法
Abstract:
Thepowerflowcalculationmethodhastwokinds,whicharethehandcalculationoftidalcurrentandcomputerpowerflowcalculation.Handcalculationtidalcurrentismainlyrealizedbymeansoftheformationofsimplifiedequivalentcircuit.Thismethodisespeciallysuitableforsmallscaleradiationpowerflowcalculation.Therearetwowaystorealizethecomputerpowerflowcalculation.Thefirstoneisthroughtheprogrammingiterationforsolvingnetworkequation,thesecondoneiswiththehelpofanalysisofpowersystemsimulationsoftwaretobuildthesystemmodelcompletethepowerflowcalculation.ThesoftwareofMATLABhasstrongmatrixfunction,.Atthesametime,It’spowersystemsimulationplatformprovidesamoreconvenientmeanstorealizepowerflowcalculationintuitively[1].ThispaperisbasedonthesoftwareofMATLABtocalculatethepowerflowcalculationbyadoptingtheformofNewton-Raphsonmethodofpowerflowcalculationofpolarcoordinates.Anditcanbetheroleofreferenceofotherformsofpowerflowcalculation.
Keywords:
powersystemcomputer;powerflowcalculation;MATLAB;Newton-Raphson
1.计算原理
电力系统潮流是指系统中所有运行参数的总体,包括各个母线电压的大小和相位,各个发电机和负荷的功率及电流,以及各个变压器和线路等元件所通过的功率,电流和其中的损耗。
在电力系统潮流计算中,需要将全部节点分成PQ节点,PV节点和平衡节点三类。
设有n个节点,其中有m个PQ节点,而出了PQ节点和一个平衡节点以外,其余的都是PV节点,显然PV节点的数目为n-m-1。
为了叙述方便和计算简便,假定节点按照先PQ节点,再PV节点,最后为平衡节点的次序进行编号,即PQ节点编号为1,2,...,m;PV节点编号为1,2,...,n-m-1;平衡节点的编号为n。
在潮流计算中要求解的非线形方程组为:
它包含n-1个有功功率方程和m个无功功率方程,总共有n+m-1个。
其中
以及
都是给定值;而
和
为未知量,总共也是n+m-1个。
节点有功功率和无功功率的不平衡量计算公式为:
可以写出修正方程[2]如下:
式中:
;;
;
通过上式便可求解出电压和相位的不平衡量,再根据收敛条件不断进行循环,使得最后的不平衡量满足要求,算出此时的电压,相位以及各节点的功率。
2.牛顿法潮流计算的步骤及计算程序框图
(1)输入系统的原始数据。
包括PQ节点PV节点编号及其所取用的有功功率和无功功率,平衡节点的编号和给定的电压有效值。
(2)形成节点导纳矩阵。
(3)给定各PQ节点的电压初始值和除平衡节点外各节点电压相位的初值。
(4)置迭代次数k=0.
(5)应用
及PV节点和平衡节点所给定的电压,计算各PQ节点的有功和无功功率偏差
以及各PV节点的有功功率偏差
,并组成功率偏差向量
。
(6)按收敛判据判断最大的功率误差是否小于容许值,如果满足则转向第(11)步,否则进行下一步。
(7)应用
,计算雅克比矩阵元素,并形成雅克比矩阵J。
(8)解修正方程,得出
(9)计算各节点电压和相位的修正值,即新的初值。
(10)置k=k+1返回第(5)步继续进行下一轮迭代。
(11)计算平衡节点的有功功率和无功功率,并计算各PV节点的无功功率;计算各元件两端的功率,电流和损耗,最后输出计算结果。
3.例题演算
如下图所示的简单电力系统中,其中节点1,2为PQ节点,节点3为PV节点,节点4为平衡节点。
已给定
容许误差
,试用牛顿法计算潮流分布。
4.运算结果:
节点功率不平衡量变化情况
迭代次数k
精度
节点功率不平衡量
0
0.5260
-0.2773
-0.5260
0.5000
-0.0510
0.0196
1
0.0438
-0.0000
-0.0205
0.0045
-0.0438
-0.0245
2
4.5034e-004
1.0e-003*0.0995
1.0e-003*-0.4195
1.0e-003*0.0793
1.0e-003*-0.4503
1.0e-003*-0.3181
3
1.1042e-007
1.0e-006*0.0417
1.0e-006*-0.1104
1.0e-006*0.0135
1.0e-007*-0.6659
1.0e-007*-0.6660
节点电压的变化情况
迭代次数k
节点电压幅值和相角
(弧度)
(弧度)
(弧度)
1
-0.0088
-0.1078
0.1151
0.9935
0.9763
2
-0.0087
-0.1125
0.1175
0.9848
0.9650
3
-0.0087
-0.1126
0.1175
0.9847
0.9648
5.心得体会:
这次用MATLAB软件进行潮流计算,不仅使我对MATLAB软件有了一个简单的入门,而且使我更加坚定了只要想学就没有学不会的信念。
正如我在大三时上结构力学一样,也是要用一个自己以前没学过的软件来分析结构的弯矩,转矩和剪力。
任何一个软件其实都不难,难的是自己不愿意动手去实践,不愿意向其他同学和老师请教。
在进行编程的时候,我是按照在图书馆借的一本书上的思路进行编程的。
我先是理解,开始碰到了很多不懂的东西,我就去向老师请教,由于有的同学不懂潮流计算,但是懂得MATLAB编程,我就请他帮检查编的程序是否有逻辑上的错误,或者其他关于程序的问题。
最后通过自己的努力终于算得的结果和书上提供的结果一致。
对于编程,一定要特别的细心,有时会因为一个符号而导致错误。
还有就是要注意循环的次数以及清楚循环最后得到的结果是什么。
编程的过程虽然很痛苦,但是出结果的那一刻却有一种无比的喜悦。
总之,我在本次实践中收获很多。
编程增加了我对MATLAB软件的兴趣,还使我加深了对电力系统潮流计算的认识。
我会一如既往的学习MATLAB及相关软件,把理论学习与实践相结合。
最后我想说的是只有不想做的,没有做不到的。
参考文献:
[1]夏道止,电力系统分析(第二版)[M].北京:
中国电力出版社,2010.
[2]何仰赞,溫增银.电力系统分析(第三版)[M]武汉:
华中科技大学出版社,
2002.
[3]郭力萍,顾秀芳.电力系统分析课程设计指导及示例分析[M]北京:
中国水利
水电出版社,2011.
[4]朱衡君,MATLAB语言及实践教程[M]北京:
清华大学出版社;北京交通大
学出版社,2004.
源程序代码:
clear;clc;
G(1,1)=1.042093;B(1,1)=-8.242876;G(1,2)=-0.588235;B(1,2)=2.352941;
G(1,3)=0;B(1,3)=3.666667;G(1,4)=-0.453858;B(1,4)=1.891074;
G(2,1)=G(1,2);B(2,1)=B(1,2);G(2,2)=1.069005;B(2,2)=-4.727377;
G(2,3)=0;B(2,3)=0;G(2,4)=-0.480769;B(2,4)=2.403846;
G(3,1)=G(1,3);B(3,1)=B(1,3);G(3,2)=G(2,3);B(3,2)=B(2,3);
G(3,3)=0;B(3,3)=-3.333333;G(3,4)=0;B(3,4)=0;
G(4,1)=G(1,4);B(4,1)=B(1,4);G(4,2)=G(2,4);B(4,2)=B(2,4);
G(4,3)=G(3,4);B(4,3)=B(3,4);G(4,4)=0.934627;B(4,4)=-4.261590;
Y=G+j*B;%输出网络参数各节点的导纳矩阵;
v
(1)=1.0;v
(2)=1.0;v(3)=1.1;
delt
(1)=0;delt
(2)=0;delt(3)=0;%给定各节点电压初始值;
P
(1)=-0.3;Q
(1)=-0.18;P
(2)=-0.55;Q
(2)=-0.13;
P(3)=0.5;%给定各节点的P和Q;
k=0;
precision=1;
whileprecision>0.00001
delt(4)=0;v(4)=1.05;%平衡节点的电压和相位;
form=1:
3
forn=1:
4
Pt(n)=v(m)*v(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));
end
pp(m)=P(m)-sum(Pt);%节点有功功率不平衡量;
end
form=1:
2
forn=1:
4
Qt(n)=v(m)*v(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
end
qq(m)=Q(m)-sum(Qt);%节点无功功率不平衡量;
end
form=1:
3
forn=1:
4
h0(n)=v(m)*v(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
n0(n)=-v(m)*v(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));
k0(n)=-v(m)*v(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));
l0(n)=-v(m)*v(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
end
H(m,m)=sum(h0)+v(m)^2*B(m,m);N(m,m)=sum(n0)-v(m)^2*G(m,m);
K(m,m)=sum(k0)+v(m)^2*G(m,m);L(m,m)=sum(l0)+v(m)^2*B(m,m);
end%计算形成雅克比矩阵主对角元素的H,N,J,L;
form=1:
2
JJ(2*m-1,2*m-1)=H(m,m);JJ(2*m-1,2*m)=N(m,m);
JJ(2*m,2*m-1)=K(m,m);JJ(2*m,2*m)=L(m,m);
end%赋值给前四行的主对角矩阵元素;
form=3:
3
JJ(2*m-1,2*m-1)=H(m,m);
end%赋值给第五行雅克比矩阵(m=n);
form=1:
3
forn=1:
3
ifm~=n
H(m,n)=-v(m)*v(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
N(m,n)=-v(m)*v(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));
L(m,n)=H(m,n);K(m,n)=-N(m,n);
end
end
end%计算雅克比矩阵非对角元素的值;
form=1:
2
forn=1:
2
ifm~=n
JJ(2*m-1,2*n-1)=H(m,n);JJ(2*m-1,2*n)=N(m,n);
JJ(2*m,2*n-1)=K(m,n);JJ(2*m,2*n)=L(m,n);
end
end
end%将前四行非对角元素赋值到雅克比行列式中;
forn=1:
2
JJ(5,2*n-1)=H(3,n);JJ(5,2*n)=N(3,n);
end
%将第五行非对角元素赋值到雅克比行列式中;
form=1:
2
JJ(2*m-1,5)=H(m,3);JJ(2*m,5)=K(m,3);
end
%将第五列非对角元素赋值到雅克比行列式中;
form=1:
2
PP(2*m-1)=pp(m);PP(2*m)=qq(m);%将节点有功功率不平衡量和无功功率不平衡量赋值给雅克比矩阵;
end
form=3
PP(2*m-1)=pp(m);%将最后一行有功功率不平衡量赋值给雅克比矩阵;
end
vv=-inv(JJ)*PP';%求解电压和相位偏差;
precision=max(abs(PP));%将电压偏差和相位偏差中的最大值赋值给精度;
forn=1:
2
delt(n)=delt(n)+vv(2*n-1);%节点相位;
v(n)=v(n)+vv(2*n)*v(n);%节点电压;
end
forn=3:
3
delt(n)=delt(n)+vv(2*n-1);
end
k
precision
delt=delt
v=v
JJ
k=k+1;
end
forn=1:
4
v(n)=v(n)*(cos(delt(n)+j*sin(delt(n))));%形成各节点电压直角坐标形式;
end
forn=1:
4
I(n)=Y(n,4)*v(n);
end%计算各节点对平衡节点注入电流;
S(4)=v(4)*sum(conj(I))%计算平衡节点功率;
form=1:
4
forn=1:
4
S(m,n)=v(m)*(conj(v(m))-conj(v(n)))*conj(Y(m,n));%计算线路功率;
end
end
Y=Y
I=I
v=v
S