国家电网考试25电力网络分析.docx
- 文档编号:5412322
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:83
- 大小:1.80MB
国家电网考试25电力网络分析.docx
《国家电网考试25电力网络分析.docx》由会员分享,可在线阅读,更多相关《国家电网考试25电力网络分析.docx(83页珍藏版)》请在冰点文库上搜索。
国家电网考试25电力网络分析
电力网络分析讲义
第一、二章
第一部分:
本组选用IEEE30节点作为分析对象,首先,根据标准数据,画出电力网络图,如图1所示。
然后根据网路图,本单元计算了网络的关联矩阵、节点导纳和节点阻抗矩阵以及添加和移去一条支路的处理。
图1IEEE30节点电力网络图
一、计算关联矩阵:
为了计算关联矩阵,首先对网络进行节点和支路进行编号和标注方向,尤其是道-支关联矩阵,要求支路必须有方向。
选取树枝和连枝,重新编号,如图2所示。
图2有向图
利用Matlab编程,可直接求出节-支关联矩阵A:
然后根据关联矩阵之间的关系,可分别求出回-支关联矩阵、割-支关联矩阵和道-支关联矩阵。
1.回-支关联矩阵B:
和A的关系:
2.割-支关联矩阵Q:
和A的关系:
3.道-支关联矩阵T:
和A的关系:
具体程序如下:
functionIEEE30
[x,y]=xlsread('C:
\DocumentsandSettings\Administrator\work\30节点数据.xls','sheet3','A2:
C51');
A=zeros(30,50);A1=zeros(31,50);
fors=1:
50
start=x(s,2);
tail=x(s,3);
zong=x(s,1);
A1(start,zong)=1;
A1(tail,zong)=-1;
end
%去掉参考节点的最后一行,降阶
fors=1:
30
forj=1:
50
A(s,j)=A1(s,j);
end
end
fprintf(‘节-支关联矩阵A=%8.5f\n')
A
fors=1:
30
forj=1:
30
AT(s,j)=A(s,j);%树支
end
end
fors=1:
30
forj=31:
50
AL(s,j-30)=A(s,j);%连支
end
end
BL=eye(20);QT=eye(30);
BT=-1*(AL')*inv(AT');
B=[BT,BL];
fprintf('回-支关联矩阵B=%8.5f\n')
B
QL=-BT';
Q=[QT,QL];
fprintf('割-支关联矩阵=%8.5f\n')
Q
TT=(inv(AT))';
TL=zeros(30,20);
T=[TT,TL];
fprintf('道-支关联矩阵T=%8.5f\n')
T
运行结果如下:
A=
B=
Q=
T=
二、计算节点导纳(阻抗)矩阵
在本节中,本组采用了两种方法对网络进行求解节点导纳矩阵Y,法一,先求解网络的不定导纳矩阵,然后去掉参考节点或者地,形成定导纳矩阵;法二,根据导纳矩阵的定义,利用网络直接求出Y。
通常阻抗导纳矩阵有三种求解方法,即部分网络法、追加树枝支路法和追加连枝支路法,但是由于Y满秩,所以可以通过直接求逆得出阻抗导纳矩阵,简单快捷。
下面是两种方法的程序:
方法1:
functionIEEE30b
[B,y1]=xlsread('C:
\DocumentsandSettings\Administrator\work\30节点数据.xls','sheet1','A2:
I44');
n1=30;%节点数
n2=41;%支路数
Y=zeros(n1,n1);%创建节点导纳矩阵
forj=1:
n1
form=1:
n2
ifB(m,2)==j&B(m,3)~=0%支路首段与节点j相连,并且不是补偿电容支路
ifB(m,4)==0%支路无变压器,是线路支路
Y(j,j)=Y(j,j)+1/(B(m,7)+i*B(m,8))+i*B(m,9)/2;
p=B(m,3);
Y(j,p)=-1/(B(m,7)+i*B(m,8));
else%支路有变压器,是变压器支路B(m,4)==1
k=B(m,6)/B(m,5);
zt=B(m,7)+i*B(m,8);
y=1/(k*zt);
y1=(k-1)/(k*zt);
y2=(1-k)/(k*k*zt);
Y(j,j)=Y(j,j)+y+y1;
p=B(m,3);
Y(j,p)=-y;
end
elseifB(m,2)==j&B(m,3)==0
Y(j,j)=Y(j,j)+i*B(m,9);
elseifB(m,3)==j%支路末端与节点j相连,并且不是补偿支路
ifB(m,4)==0%支路是线路支路
Y(j,j)=Y(j,j)+1/(B(m,7)+i*B(m,8))+i*B(m,9)/2;
p=B(m,2);
Y(j,p)=-1/(B(m,7)+i*B(m,8));
else%支路有变压器,是变压器支路B(m,4)==1
k=B(m,6)/B(m,5);
zt=B(m,7)+i*B(m,8);
y=1/(k*zt);
y1=(k-1)/(k*zt);
y2=(1-k)/(k*k*zt);
Y(j,j)=Y(j,j)+y+y2;
p=B(m,2);
Y(j,p)=-y;
end
end
end
end
fprintf('节点导纳矩阵Y=%8.5f\n')
Y
Z=inv(Y);
fprintf('节点阻抗矩阵Z=%8.5f\n')
Z
方法2:
functionIEEE30a
%节点导纳矩阵
yb(1,1)=5.2246-j*15.6467;yb(2,2)=1.2437-j*5.096;yb(3,3)=1.7055-j*5.1974;yb(4,4)=8.1954-j*23.5309;yb(5,5)=1.1360-j*4.7725;yb(6,6)=1.6861-j*5.1165;yb(7,7)=6.4131-j*22.3112;
yb(8,8)=2.954-j*7.4493;yb(9,9)=3.5902-j*11.0261;yb(10,10)=6.2893-j*22.0126;yb(11,11)=-j*4.8077;yb(12,12)=-j*1.7986;yb(13,13)=-j*9.0909;yb(14,14)=-j*4.8077;yb(15,15)=-j*3.9063;yb(16,16)=-j*7.1429;yb(17,17)=1.5266-j*3.1734;yb(18,18)=3.0954-j*6.0973;yb(19,19)=1.9520-j*4.1044;yb(20,20)=2.4910-j*2.2509;
yb(21,21)=1.8678-j*4.3794;yb(22,22)=1.8077-j*3.6914;yb(23,23)=3.0757-j*6.2188;yb(24,24)=5.8824-j*11.7647;yb(25,25)=1.7848-j*3.9854;yb(26,26)=3.9560-j*10.3174;yb(27,27)=5.1019-j*10.9807;yb(28,28)=2.6193-j*5.4008;yb(29,29)=16.7746-j*34.1277;yb(30,30)=1.9683-j*3.9761;yb(31,31)=2.5405-j*3.9544;yb(32,32)=1.4614-j*2.9892;yb(33,33)=1.3099-j*2.2876;
yb(34,34)=1.2183-j*1.8127;yb(35,35)=1.9693-j*3.7602;yb(36,36)=-j*2.5253;yb(37,37)=0.9955-j*1.8810;yb(38,38)=0.6875-j*1.2940;yb(39,39)=0.9121-j*1.7234;yb(40,40)=1.4440-j*4.5408;yb(41,41)=4.3628-j*15.4636;%普通支路数据
yb(42,42)=j*0.0468;yb(43,43)=j*0.0844;yb(44,44)=j*0.0246;yb(45,45)=j*0.0271;yb(46,46)=j*0.0311;yb(47,47)=j*0.0427;yb(48,48)=j*0.0187;yb(49,49)=j*0.0259;yb(50,50)=j*0.0279;
%由支路阻抗数据,求节-支关联矩阵A
A(1,1)=1;A(1,2)=1;A(2,3)=1;A(3,4)=1;A(2,5)=1;A(2,6)=1;A(4,7)=1;A(5,8)=1;A(6,9)=1;A(6,10)=1;A(9,11)=1;A(6,12)=1;A(9,13)=1;A(9,14)=1;A(12,15)=1;A(12,16)=1;A(12,17)=1;A(12,18)=1;A(12,19)=1;A(14,20)=1;A(16,21)=1;
A(15,22)=1;A(18,23)=1;A(19,24)=1;A(10,25)=1;A(10,26)=1;A(10,27)=1;A(10,28)=1;A(21,29)=1;A(15,30)=1;A(22,31)=1;A(23,32)=1;A(24,33)=1;A(25,34)=1;A(25,35)=1;A(28,36)=1;A(27,37)=1;A(27,38)=1;A(29,39)=1;A(8,40)=1;
%输出节点对应的A元素值
A(6,41)=1;A(1,42)=1;A(2,43)=1;A(3,44)=1;A(4,45)=1;A(5,46)=1;A(6,47)=1;A(7,48)=1;A(8,49)=1;A(28,50)=1;
%对地电容支路
A(2,1)=-1;A(3,2)=-1;A(4,3)=-1;A(4,4)=-1;A(5,5)=-1;A(6,6)=-1;A(6,7)=-1;A(7,8)=-1;A(7,9)=-1;A(8,10)=-1;A(6,11)=-1;A(10,12)=-1;A(11,13)=-1;A(10,14)=-1;A(4,15)=-1;A(13,16)=-1;A(14,17)=-1;A(15,18)=-1;A(16,19)=-1;A(15,20)=-1;
A(17,21)=-1;A(18,22)=-1;A(19,23)=-1;A(20,24)=-1;A(20,25)=-1;A(17,26)=-1;A(21,27)=-1;A(22,28)=-1;A(22,29)=-1;A(23,30)=-1;A(24,31)=-1;A(24,32)=-1;A(25,33)=-1;A(26,34)=-1;A(27,35)=-1;
A(27,36)=-1;A(29,37)=-1;A(30,38)=-1;A(30,39)=-1;A(28,40)=-1;A(28,41)=-1;
Y=A*yb*A';
%6条变压器支路按变比发生变化处理,设原变比为1,变化后变比为t:
1,即变压器在原边侧
T1=[961.0155];%变压器支路1的首节点、末节点及变比
T2=[6100.9629];%变压器支路2的首节点、末节点及变比
T3=[1241.0129];%变压器支路3的首节点、末节点及变比
T4=[28270.9581];%变压器支路4的首节点、末节点及变比
Y(T1(1,1),T1(1,2))=Y(T1(1,1),T1(1,2))+(1-1/T1(1,3))*yb(11,11);Y(T1(1,2),T1(1,1))=Y(T1(1,1),T1(1,2));%Yji'=Yij'=Yij+detaYij
Y(T1(1,1),T1(1,1))=Y(T1(1,1),T1(1,1))+(1/(T1(1,3)^2)-1)*yb(11,11);%Yii'=Yii+detaYii
Y(T2(1,1),T2(1,2))=Y(T2(1,1),T2(1,2))+(1-1/T2(1,3))*yb(12,12);Y(T2(1,2),T2(1,1))=Y(T2(1,1),T2(1,2));
Y(T2(1,1),T2(1,1))=Y(T2(1,1),T2(1,1))+(1/(T2(1,3)^2)-1)*yb(12,12);
Y(T3(1,1),T3(1,2))=Y(T3(1,1),T3(1,2))+(1-1/T3(1,3))*yb(15,15);Y(T3(1,2),T3(1,1))=Y(T3(1,1),T3(1,2));
Y(T3(1,1),T3(1,1))=Y(T3(1,1),T3(1,1))+(1/(T3(1,3)^2)-1)*yb(15,15);
Y(T4(1,1),T4(1,2))=Y(T4(1,1),T4(1,2))+(1-1/T4(1,3))*yb(36,36);Y(T4(1,2),T4(1,1))=Y(T4(1,1),T4(1,2));
Y(T4(1,1),T4(1,1))=Y(T4(1,1),T4(1,1))+(1/(T4(1,3)^2)-1)*yb(36,36);
%2条并联电容支路,按支路的添加来修改Y矩阵
l1=[100j*0.19];%要添加支路1的首末节点及对应的支路导纳
l2=[240j*0.04];%要添加支路2的首末节点及对应的支路导纳
[m,n]=size(Y);
M1=zeros(m,1);M2=zeros(m,1);
ifl1(1,1)~=0
M1(l1(1,1),1)=1;
end
ifl1(1,2)~=0
M1(l1(1,2),1)=-1;
end
ifl2(1,1)~=0
M2(l2(1,1),1)=1;
end
ifl2(1,2)~=0
M2(l2(1,2),1)=-1;
end
Y=Y+M1*l1(1,3)*M1';Y=Y+M2*l2(1,3)*M2';%Y'=Y-Ml*yl*Ml'
%最后的节点导纳矩阵:
display('节点导纳矩阵如下所示')
Y
Z=inv(Y);
display('节点阻抗矩阵如下所示')
Z
计算结果:
三、添加和移去一条支路
(一)添加一条支路:
相当于在原网络的支路l上并联一个yi的支路
本组选择在原网络上添加支路9-11
(二)移去一条支路:
相当于在原网络的支路l上并联一个yi的支路
本组选择在原网络上添加支路6-10
程序如下:
%//////////////////////移去支路6-10////////////////////////////////
[m,n]=size(Y);
l3=[610-5.2246+i*15.64678];%要移去的支路的首末节点及对应支路导纳
M3=zeros(m,1);
ifl3(1,1)~=0
M3(l3(1,1),1)=1;
end
ifl3(1,2)~=0
M3(l3(1,2),1)=-1;
end
Y=Y-M3*l3(1,3)*M3';
display('移去支路后新的节点导纳矩阵如下所示:
')
Y
计算结果:
%//////////////////////添加支路9-11//////////////////////////////
l4=[911i*9.0909];%要添加支路首末节点及对于支路导纳
M4=zeros(m,1);
ifl4(1,1)~=0
M4(l4(1,1),1)=1;
end
ifl4(1,2)~=0
M4(l4(1,2),1)=-1;
end
Y=Y+M4*l4(1,3)*M4';
display('添加支路后新的节点导纳矩阵如下所示:
')
Y
计算结果:
第三章
本节主要做的内容有:
节点优化编号;三角检索存储;Y因子分解的两种方法;求解稀疏线性方程组;Y因子分解图论描述。
一、节点优化编号
1、Tinney-1编号方法:
具体操作:
按出线度由小到大进行编号,相同出线度节点先后随意。
优缺点:
简单但编号效果较差。
右图:
Tinney-1方法编号Y有向图。
A、Tinney_1优化编号实现:
du=zeros(1,30);
form=1:
30%统计节点出线度
forn=1:
30
du(m)=du(m)+Y0(m,n);
end
end
du
min=1;
Min=du
(1);
Du=zeros(2,30);
forn=1:
30
form=1:
30%取最小出线度节点
ifdu(m) Min=du(m); min=m; end end form=1: 30 ifdu(m)==Min Du(1,n)=m; Du(2,n)=n; n=n+1; du(m)=100; Min=100; end end end %Du %------新节点编号-------- Y1=zeros(n1,n1); form=1: 30 forn=1: 30 Y2(m,n)=Y(Du(1,m),Du(1,n)) end end B、优化后Y的非零元分布显示: x=[1: 30];y=[1: 30]; he1=1;mnx=0; form=1: 30 forn=1: 30 ifabs(Y1(m,n))>0 Y0(m,n)=1; mnx=mnx+1; x(he1)=m; y(he1)=n; he1=he1+1; end end end mnx figure (2); axis([130130]) scatter(x,y,'k.') 采用非零元分布显示更加直观了解Y矩阵原始矩阵出线度及节点关系。 C、Y的非零元分布图: 优化前Y非零元分布图 优化后Y非零元分布图 2、Tinney-2编号方法(又称半动态节点优化编号方法) 具体操作: 按最小出线度编号,编号过程中及时排除已编节点发出边对未编节点出线度的影响,新生成的边计入后续节点的出现度。 优缺点: 方法较简单,程序复杂度增加不多,效果较好。 本部分编号为手动计算得。 右图: Tinney-2方法编号法Y图 A、优化后Y的非零元分布图: 二、Y三角检索存储 1、Y的存储格式: 1、散居格式——修改灵活,检索困难; 2、按行(列)存储格式——修改困难,检索灵活; 3、三角检索存储格式——适合确定的稀疏矩阵; 4、链表存储格式——修改储存灵活。 2、三角检索存储格式: ⏹U—按行存储Y的上三角部分的非零元素的值 ⏹JU—按行存储Y的上三角部分的非零元素的列号 ⏹IU—存Y中上三角部分每行第一个非零元的序号(行首地址) ⏹L—按行存储Y的下三角部分的非零元素的值 ⏹IL—按列存储Y的下三角部分的非零元素的行号 ⏹JL—按行存储Y的下三角部分的非零元素的行号 ⏹D—Y的对角元素的值,检索下表不需要存储 3、编程实现Y的三角存储: [m,n]=size(Y);geshu=0; fori=1: m D(1,i)=Y(i,i); end IU(1,1)=1;time(1,1)=0; fori=1: m cishu=0; forj=i+1: m ifY(i,j)~=0 geshu=geshu+1; cishu=cishu+1; U(1,geshu)=Y(i,j); JU(1,geshu)=j; end end time(1,i+1)=cishu; end [size2,size1]=size(U); fori=2: m IU(1,i)=IU(1,i-1)+time(1,i); end IU(1,size1+1)=size1+1; JL(1,1)=1;time1(1,1)=0;geshu=0; forj=1: m cishu1=0; fori=j+1: m ifY(i,j)~=0 geshu=geshu+1; cishu1=cishu1+1; L(1,geshu)=Y(i,j); IL(1,geshu)=i; end end time1(1,j+1)=cishu1; end [size4,size3]=size(L); fori=2: 1: n JL(1,i)=JL(1,i-1)+time1(1,i); end JL(1,size3+1)=size3+1; 三、Y的LDU分解 方法1: 数值分析的方法—直接按规格化运算后,再进行消去运算,采用全部数据都循环的方法编程。 方法2: 三角检索存储基础上因子分解—在排零存储的基础上,只取非零元U(k)和l(k)进行计算,省去非零元的判断,进行稀疏矩阵的因子分解。 1、因子分解Y->Y’(L*D*U)两种方法对比: 由Y’非零元分布图可以看出,两种方法果是一致的,间接证明程序正确性。 2、优化编号的效果 原始矩阵Y因子分解Tinney_1优化后Y1因子分解 两图对比易知,节点优化编号大大增大了U矩阵的稀疏度。 3、两种优化编号效果对比 Tinney_1优化后Y1因子分解Tinney_2优化后Y2因子分解 由程序结果知,图上总出线度为144: 140,Tinney_2结果上要优于Tinney_1节点优化编号。 四、利用因子表求解方程组 具体实现: 1、前代过程 b=I;z=b; fori=1: n-1 forj=i+1: n z(j,1)=z(j,1)L(j,i)*z(i,1); end end 2、除法运算 fori=1: n y(j,1)=z(j,1)/D(i,i); end 3、回代过程 x=y; forj=n: -1: 2 fori=j-1: -1: 1 x(i,1)=x(i,1)-U(i,j)*x(j,1); end end 五、Y的图论分析 导纳矩阵的稀疏结构可利用图来描述 1、利用图来描述导纳矩阵Y 2、利用图来描述导纳矩阵的因子矩阵U 3、参考习题3.10,分析因子分解过程 右图为Tinney-1优化编号方法下 因子分解后U的赋权有向因子图。 第四章 第四章主要内容: (一)补偿法求网络方程的修正解 1、前补偿 2、中补偿 3、后补偿 (二)因子表的修正算法 1、因子表的秩1修正(阶次不变) 2、系数矩阵阶次变化时的因子表修正 3、因子表的局部再分解 一、补偿法求网络方程的修正解 1、矩阵求逆辅助定理: 若令nxn阶非奇异矩阵A发生如下变化: 式中,M、N为nxm阶矩阵,a为mxm阶非奇异矩阵,且m≤n,则有: ,其条件是 可逆。 如果已知A的逆 ,则可根据上式利用 直接求解出 的逆。 2、补偿法网络方程的计算: N维电力系统网络方程为: 当结构或参数发生微小变化而节点注入电流不变时,新的网络方程可写为: ,即: ,利用矩阵求逆辅助定理有: ,其中, (可逆)。 方法一: 后补偿 , 或 , 方法二: 前补偿 或 , , 。 方法三: 中补偿 , , , 三种方法计算量的比较: (m=1) v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家电网 考试 25 电力 网络分析