电力网节点导纳矩阵计算例题与程序.docx
《电力网节点导纳矩阵计算例题与程序.docx》由会员分享,可在线阅读,更多相关《电力网节点导纳矩阵计算例题与程序.docx(11页珍藏版)》请在冰点文库上搜索。
电力网节点导纳矩阵计算例题与程序
电力网节点导纳矩阵计算例题与程序
佘名寰编写
用计算机解算电力网潮流电压和短路电流问题首先需确定电力网的节点导纳矩阵或节点阻抗矩阵。
本文通过例题介绍用网络拓扑法计算节点导纳矩阵的方法和程序,程序考虑了线路并联电容和变压器支路标么变比不为1时的影响。
程序用MATLAB语言编写,线路参数均采用标么值。
本文稿用officeword2007版编写,可供电气专业人员计算相关问题时参考。
1.用网络拓扑计算节点导纳矩阵
网络拓扑矩阵:
【例】例图1-1是有5个节点和5条支路的网络,节点5作为基准参考点,1,2,3,4为独立节点,支路编号和方向图中已标识。
Z21=+
Z23=+
Z13=+
Z42=
Z53=
YC1=
YC2=
YC3=
4
②Z23
③Z13
①Z21
YC2
YC3
YC1
④Z42
⑤Z53
1:
:
1
4
2
3
1
5
例图1-1
对于具有n个节点b条支路的有向图,它的关联矩阵为一个N×B的矩阵Aa:
Aa=[aij]
若支路j与节点i相关,且箭头背离节点i,则aij=1,若箭头指向节点则aij=-1,若支路j与节点i无关,则aij=0,
图1-1所示的有向图的关联矩阵为
1②③④⑤支路编号
Aij=
行编号从上到下为12345节点编号(5为参考节点)
去掉第5行即为独立节点的关联矩阵。
以下介绍生成网络关联矩阵的M函数文件:
%MFUNCTION
%Npisnumberofnodepoint,Nbisnumberofbraches
%nstart--thestartpointofbranches,nend--theendpoint,
%A--networkincidencematrix
function[A]=ffm(nstart,nend)
globalNpNb
n=length(nstart);
A=zeros(Np,Nb);
fori=1:
n
A(nstart(i),i)=1;
A(nend(i),i)=-1;
end
以例图1-1网络为例调用文件求其关联矩阵
运算以上程序可得关联矩阵mmij如下:
mm=
-10100
110-10
0-1-10-1
00010
00001
Mmij明显与Aij是相同的。
生成节点导纳矩阵程序:
⑴由网络原始矩阵计算节点导纳矩阵公式
Y=AYs0At(1-1)
Y----节点导纳矩阵
A------网络关联矩阵
At-----A的转置矩阵
YS0----网络原始导纳矩阵
若网络各支路阻抗为Zb=[zb1,zb2,……,zbn]
则ZS0=
Ys0=Zs0-1(1-2)
Y=AZs0-1At(1-3)
⑵节点导纳计算程序
以例1-1网络为例,在不计对地电容和变压器变比假定为1条件下,节点导纳矩阵计算程序如下:
clear
globalNpNb
%Npisnumberofnodepoint,Nbisnumberofbraches,
Np=5;Nb=5;
%nstart--thestartpointofbranches,nend--theendpoint,
%mm--networkincidencematrix
nstart=[2,2,1,4,5];
nend=[1,3,3,2,3];
mm=ffm(nstart,nend);
%zb1,theseriesimpedancesoftransmissionline
%yb1,theseriesadmittancesoftransmissionline
zb1r=[,,,,];
zb1i=[,,,,];
zb1=zb1r+zb1i*j;
yb1=zb1.^(-1);
yb=diag(conj(yb1'));
y=mm*yb*(mm)';
运算程序后可得节点导纳矩阵
y=
-++00
++0+0
++00+
00+000
000+00
⑶线路对地并联电容的处理
例图1-1网络中,线路①,②两端对地电容导纳均为,节点1,2,3自导纳相应增加,,。
程序处理如下:
%yb0,theshuntadmittancesoftransmissionline
yb0i=[,,,,];
yb0=0+yb0i*j;
y0=diag(conj(yb0'));
yg=mm*y0*(mm)';
yn=diag(diag(yg));
yy=yn-yg;
y=y+yn;
程序中yb0为各线路对地电容导纳,y0为原始导纳矩阵,yn对角矩阵对应各节点自导纳增加值,yy相应各支路两端对地并联导纳,用于计算支路电流。
y为计及对地电容后的节点导纳矩阵。
程序运算结果
yn=
0+0000
00+000
000+00
00000
00000
yy=
00+000
0+00+00
00+000
00000
00000
y=
-++00++0+0++00+
00+000
000+00
⑷非标准变压器支路的处理
当支路有变压器并且标么变比不为1时,可将变压器化作П形等值电路,如图1-2所示。
图中理想变压器变比为k:
1,接入节点i,高压侧经漏抗ZT与节点j相连。
J
K:
1
ZT
i
(1-K)YT
K(K-1)YT
KYT
i
J
图1-2变压器等值电路
等值电路图中YT=1/ZT。
i侧自导变为yii=kyt+k(k-1)yt=k2yt,改变量为Δyii=(k2-1)yt;Ij间互导变为yij=-kyt,Δyij=-kyt+yt=-(k-1)yt。
j侧自导变为yjj=kyt+(1-k)yt=yt,,与K=1时相同;
变压器变比不为1时修正导纳矩阵的M函数文件
%MFUNCTION
%thetransformerturnsratio,withoff-nominaltap-setting,fig1-2
%bt[]two-dimensionalarray,lineoneispointi,linetwoispointj
%pisthetransformerturnsratio,kisnumberoftransformers
function[A,B]=fdt1(a,b)
globalbtpmk
fori=1:
m
forj=1:
m
A(i,j)=a(i,j);
B(i,j)=b(i,j);
end
end
fori1=1:
k
k1=bt(1,i1);
k2=bt(2,i1);
t=-a(k1,k2);
p1=p(i1);
fori=1:
m
forj=1:
m
ifi==k1
ifj==k1
A(i,j)=A(i,j)+(p1*p1-1)*t;
elseifj==k2
A(i,j)=A(i,j)-(p1-1)*t;
B(i,j)=p1*(p1-1)*t;
end
elseifi==k2
ifj==k1
A(i,j)=A(i,j)-(p1-1)*t;
B(i,j)=(1-p1)*t;
end
end
end
end
end
程序中bt是2行K列数组,第一行为变压器接入点i的节点编号,第二行为经漏抗后所接j节点编号,k为变压器支路数。
P为一维k列数组,输入各个变压器的变比;
m为矩阵a,b,A,B的阶数
a,A是进行变比修正前后的节点导纳矩阵,
b,B是变比修正前后支路对地并联导纳矩阵。
例图1-1节点导纳和支路对地并联导纳计算程序
例图1-1共有5个节点,5条支路,所以Np=5,Nb=5
支路④,为变压器支路,其i节点编号为2,j节点编号为4,变比为1:
1/;
支路⑤也为变压器支路,其i节点编号为3,j节点编号为5,变比为1:
1/;
所以数组bt=[2,3;4,5],p=[1/,1/],k=2;
5条支路按箭头方向首末端节点分别为2,2,1,4,5和1,3,3,2,3,所以nstart=[2,2,1,4,5];
nend=[1,3,3,2,3];输入以上数据可得以下程序:
%*******,example1-1,fig1-1**************************
%ThefollowingProgramfornodeimpedancescalculationisbasedonMATLAB2007
clear
%bus1,2,3isPQbus,bus4isPVbus,bus5isslackbus
globalNpNbbtpmk
%Npisnumberofnodepoint,Nbisnumberofbraches,
%pthetransformerturnsratio,withoff-nominaltap-setting,fig1-1
%btistwo-dimensionalarray,lineoneispointi,linetwoispointj,
%misnumberofnodepoint,kisnumberoftransformers
Np=5;Nb=5;
bt=[2,3;4,5];p=[1/,1/];m=5;k=2;
%nstart--thestartpointofbranches,nend--theendpoint,
%mm--networkincidencematrix
nstart=[2,2,1,4,5];
nend=[1,3,3,2,3];
mm=ffm(nstart,nend);
%zb1,theseriesimpedancesoftransmissionline
%yb1,theseriesadmittancesoftransmissionline
zb1r=[,,,,];
zb1i=[,,,,];
zb1=zb1r+zb1i*j;
yb1=zb1.^(-1);
yb=diag(conj(yb1'));
y=mm*yb*(mm)';
%yb0,theshuntadmittancesoftransmissionline
yb0i=[,,,,];
yb0=0+yb0i*j;
y0=diag(conj(yb0'));
yg=mm*y0*(mm)';
yn=diag(diag(yg));
yy=yn-yg;
y=y+yn;
[Y,YY]=fdt1(y,yy);
%YYistheshundadmittancesofthelineandtransformersateachend,
%Yisnode-admittancematrixfornetwork
运行结果为:
Y=
-++00
++0+0
++00+
00+000
000+00
>>YY
YY=
00+000
0+00+0+0
00+000+
00-000
000-00
参考文献:
1.MATLAB基础与应用简明教程张平等编着北京航空航天大学出版社2001年
2.燃气工程电算方法,冯良张同全惠君编着,同济大学出版社,1998年
3.电力系统计算,西安交通大学清华大学等合编,水利电力出版社,1978年