|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
clear %清除工作空间原有的变量
8 g* Z2 c* r7 h8 O- n; K+ Rclc
# b# g/ q5 T9 Xa=textread('IEEE14.dat'); %读数据文件
/ |6 m" I6 i, F: ^+ f7 z1 u$ z$ h: ~+ ^n=a(1,1); %节点数
6 d8 v& A. t; P+ ] w( [line=a(1,2); %支路数
1 z% e: ]; q e" |* fblance=a(1,3); %平衡节点5 E- F) f+ \1 _0 }/ G
SB=a(1,4); %基准功率* K5 q7 C' n- d6 M7 J# N
kmax=a(1,5); %最大迭代次数' G/ r: O) l) Z" p& s) K7 Z+ t& g
ab=a(2,1); %计算精度+ _7 f: x. X( M1 J. p3 J
t=find(a(:,1)==0);
9 P6 f7 y, `* ?3 A$ Jxianlu=a([3:t(1)-1],:); %形成线路参数矩阵
$ f4 G( u! B7 V% C9 e9 Yjiedi=a([t(1)+1:t(2)-1],:); %接地支路参数矩阵& K9 y( {2 ], R# V* V
bianya=a([t(2)+1:t(3)-1],:); %形成变压器支路参数矩阵
; W# Q$ F) W, g3 V' u. k, W& Sjiedian=a([t(3)+1:t(4)-1],:);%节点功率数据矩阵' B) `! \/ B3 d
pv=a([t(4)+1:t(5)-1],:); %pv节点数据矩阵0 e2 Y8 r8 E( G0 O
%读线路参数
. Q3 A: h) r! n7 r0 rlinei=xianlu(:,2)';
4 _0 \& R* u# Z8 c( h' E' `" F( Vlinej=xianlu(:,3)';" I. \- N; g5 ~( _* k% g
r=xianlu(:,4)';+ ]8 f M' R0 q* D6 ~
x=xianlu(:,5)';
* Q3 B x0 q0 Z! N6 F* S5 T* \b0=xianlu(:,6)';( ? S. q. w0 A$ q$ d7 d! k# [
' I! v3 V0 s3 K6 s/ wg=r./(r.*r+x.*x);0 t; e5 ~6 ?+ E! F* M
b=-x./(r.*r+x.*x);
! t0 f2 G! e' Q' d# N& \( ~G=sparse(linei,linej,-g,n,n)+sparse(linej,linei,-g,n,n)+sparse(linei,linei,g,n,n)+sparse(linej,linej,g,n,n);
8 e- f5 z( m* QB=sparse(linei,linej,-b,n,n)+sparse(linej,linei,-b,n,n)+sparse(linei,linei,b+b0,n,n)+sparse(linej,linej,b+b0,n,n);
6 ]0 n& q1 f* M4 P& H3 B& [# {% 读变压器参数
& a+ i& D# e& ^- z. i1 H( P3 S ^linei=bianya(:,2)';8 w- H( @0 G0 |9 A1 x. d: H
linej=bianya(:,3)';5 [6 x: K5 U8 {
r=bianya(:,4)';
6 A' Z8 G3 ?9 X3 U0 {; dx=bianya(:,5)';# D+ f! T, L4 `, O
k0=bianya(:,6)';# c, T3 O2 A7 F% ?! `
g=r./(r.*r+x.*x);* f. P! C) @9 [3 M/ ~7 k& m, B
b=-x./(r.*r+x.*x);
0 Y( B/ T5 t* t& ~+ I. o+ j; [G=G+sparse(linei,linej,-g./k0,n,n)+sparse(linej,linei,-g./k0,n,n)+sparse(linei,linei,g./k0./k0,n,n)+sparse(linej,linej,g,n,n);
* b f7 S% _* E+ |B=B+sparse(linei,linej,-b./k0,n,n)+sparse(linej,linei,-b./k0,n,n)+sparse(linei,linei,b./k0./k0,n,n)+sparse(linej,linej,b,n,n);: O8 G- f% G z Y
% 读接地支路参数3 ]8 }1 K$ J7 r+ R* ?
jiedidian=jiedi(:,1)';
! I3 [7 U4 q1 P- [: Q0 X6 y8 rbranchib=jiedi(:,2)';: k& \- q. I; M O# I
B=B+sparse(jiedidian,jiedidian,branchib,n,n);; s2 t4 K8 P* _
%节点导纳矩阵
( _8 M- n6 V2 {" yY=sparse(G+i*B);
* P7 N; Q- Z9 ]1 @% 读节点功率数据+ N( k% u7 [; v" K8 H$ n+ A5 I" f
pg=jiedian(:,2)/SB;. K8 @0 `6 m, D( \" L
pd=jiedian(:,4)/SB;
- t: v1 @1 o/ |0 W9 U) z$ Aqg=jiedian(:,3)/SB;
2 F" n6 ?# Y+ ~: o( aqd=jiedian(:,5)/SB;
( R5 K/ @( `# K' l! O7 R; H( t5 C9 p( W- D
p=zeros(n,1);
: A4 S7 b r% [q=zeros(n,1);
0 d( n5 X6 g5 l" \+ ^4 op(jiedian(:,1))=pg-pd;
! K0 t- t7 X' z9 X+ Kq(jiedian(:,1))=qg-qd;& I8 j0 |' M: \# U, C8 c
% 读pv节点数据$ T- d# D! N* R8 C2 n* T5 w- \
pvjiedian=pv(:,1);. q' \, E( A0 Q h0 a* P
vpv=pv(:,2);
, A3 V5 ^" F' L, T+ W2 n/ s8 Ov=ones(n,1); %电压初始值( v, |! `! {+ O' q- O" X A
v(pvjiedian)=vpv; %pv节点(及平衡节点)电压已知
( t+ F4 T. c+ z# O1 k/ `1 ]8 i! qdelt=zeros(n,1); %相角初始值
; [, b7 o. I- Z) Vdeltp=zeros(n,1); % 失配有功功率初值3 w; I8 h! Q1 \9 s0 z ?
deltq=zeros(n,1); % 失配无功功率初值
, _0 T& T$ j6 i- T7 U/ q, z" F- T( G
' I, h5 B$ ~$ g4 e4 B4 Y) r%迭代求潮流计算5 {( H4 [; U2 t8 [1 p, I' Y
for diedai=1:10 %置最大循环次数
3 S/ s% m, D9 f0 R8 E clear i
+ ]% N1 P: n9 b J% B; \; q % 失配功率方程 }8 \1 U5 \' \
V=v.*cos(delt)+i*v.*sin(delt);
( ?4 x" I7 V* r# _: b7 I a2=conj(Y*V).*V;0 |3 k8 x) a' S9 [ g9 b% W- b# s
deltp=p-real(a2);
5 N P7 O3 U" w+ a7 ?( c deltq=q-imag(a2);
% g+ S [6 L! m; Z' x& |0 |1 r 4 c4 B* l; T/ {! {+ o
% 求雅可比矩阵
2 O# c: S! I, X8 y! c for i=1:n& ~6 ^1 Q; B j; {
for j=1:n: C, K1 k$ C3 u( Q. r7 ]1 z
if i~=j8 v$ i; ]" N9 X. l+ A6 l
H(i,j)=-v(i)*v(j)*(G(i,j)*sin(delt(i)-delt(j))-B(i,j)*cos(delt(i)-delt(j)));0 s* w; K: Y$ J# M3 k5 h1 J
else
% {* \5 }; j- K H(i,i)=v(i)*v(i)*B(i,i)+q(i)-deltq(i);# ~ y9 {. m7 D% c# \
end% p2 L, L' y2 \& h& r
end
9 N" Q# K. z) Q8 e" s: J5 y end
+ U( B( F6 d6 L1 C9 P6 v d
8 Q. {* B1 ?! ?( X# B; I for i=1:n f( f2 w9 o% T9 |+ [+ E
for j=1:n4 N" ?) ?9 a; A( j% x3 j( c# \
if i~=j+ }5 n4 X1 [5 l6 v
N(i,j)=-v(i)*(G(i,j)*cos(delt(i)-delt(j))+B(i,j)*sin(delt(i)-delt(j)));( h6 E" F7 J) X
else# V* T, o8 J) h% p& v4 N/ I6 o- F
N(i,i)=-v(i)*G(i,i)-(p(i)-deltp(i))/v(i);
! f/ p0 W. a; l4 |1 [; U end. r: f }) f" c7 d$ k, z# x
end
' }5 \% v5 P6 x+ h& M0 z. ` F% q end
9 R) K0 Q+ b8 [
! U: d7 E+ J/ I) | for i=1:n; a% {8 g. ~+ y7 N% O$ d7 Z
for j=1:n" z. ?4 M7 r& w. k2 i3 c7 b2 M
if i~=j
" T$ I4 x3 _& r6 k! }$ O8 ~ J(i,j)=v(i)*v(j)*(G(i,j)*cos(delt(i)-delt(j))+B(i,j)*sin(delt(i)-delt(j)));
( F& B" L I5 M* D: h- b else1 s% t( h' Z% I' z3 M
J(i,i)=v(i)*v(i)*G(i,i)-(p(i)-deltp(i));
0 I+ O& n/ Y# }0 e end
( H2 v( h+ _1 } end
* [3 V4 I7 U) C. K. y) A end
3 v) C" m, p: ] r4 }3 _0 n
" t3 L8 R% x, t. F" _" b9 k for i=1:n
& M+ H: b+ P D) ~2 }1 a" m7 U for j=1:n% Q' O; z$ m- E4 ?) M
if i~=j
# r) h; w% v5 p' ]$ @: D L(i,j)=-v(i)*(G(i,j)*sin(delt(i)-delt(j))-B(i,j)*cos(delt(i)-delt(j)));+ u5 K, E. @" T) w: g
else
; ^, ^7 H5 w6 c L(i,i)=v(i)*B(i,i)-(q(i)-deltq(i))/v(i);7 y( Q' H* m1 k( d; U! T1 o
end. F3 Q/ `- k. |5 q6 }$ h/ o6 Q' o
end) v; B+ W/ C1 z
end
& w% t2 e1 ~. b% `) [1 h %修正雅克比矩阵
3 y& _$ @9 i7 S/ @/ F Ya=[H N;J L];. S! D u) V% {
Ya([blance blance+n],:)=0;
" D7 q) T( r4 T- L& k Ya(:,[blance blance+n])=0;
+ o4 S- J a2 A5 Y0 j" a Ya(blance,blance)=1; %平衡节点
& M D' P1 b8 @/ ~' q9 ]2 X Ya(blance+n,blance+n)=1;
: [* j( T+ `) M& u& @2 ] Ya(pvjiedian+n,:)=0;- g. b7 p3 ]' }7 t" V9 Q. p% G
Ya(:,pvjiedian+n)=0;
& h/ s( I2 M" B0 g for h=1:length(pvjiedian)' U* \4 C' {% x5 M3 x0 ^" W
Ya(pvjiedian(h)+n,pvjiedian(h)+n)=1;1 S5 f. j/ p9 X
end' o) c+ K$ Z0 T1 |6 S) t
$ l% `; t/ t% ?& H8 w# |
%
! q; p J1 z- }& e: S$ e deltp(blance)=0; %平衡节点deltp=0
# T3 I% Q- @* r deltq(blance)=0; %平衡节点deltq=0
6 S2 _! I! V4 {2 W2 a7 @ 1 u. l5 h6 _0 O
deltq(pvjiedian)=0; %pv节点deltq=0" O2 j) F5 n- C7 v" b
deltpq=[deltp;deltq];
. Q4 X) H6 ^7 _7 O; Y: E if max(abs(deltpq))<ab % 如果结果满足精度; ], a, ?) d) i, `& ~
break % 退出循环 $ N5 p, S U& _. g9 d, h& Q
end + _# g( h* W! p, `# Z0 d. z( S$ H
R=Ya\(-deltpq);
8 Z6 T% L/ a( b# Y9 F delt=delt+R([1:n]);5 Z+ x2 r" W' A. I `
deltt=delt*180/pi& M4 E3 W5 O4 O0 V& ^, u) ?
v=v+R([n+1:2*n])/ V+ i2 }" p) h8 E1 N6 d
end + z. h0 o% Z' e1 p( c/ R2 o
% D( h& X* m' N$ g3 C- u8 n
# ?, Y2 D) v; {6 n) n/ r数据格式9 O; Z5 L6 z4 e& R
| 14 | 20 | 1 | 100 | 20 | 0.1 | | | 1.00E-06 | 1 | | | | | | | 1 | 1 | 2 | 0.01938 | 0.05917 | 0.0264 | | | 2 | 1 | 5 | 0.05403 | 0.22304 | 0.0246 | | | 3 | 2 | 3 | 0.04699 | 0.19797 | 0.0219 | | | 4 | 2 | 4 | 0.05811 | 0.17632 | 0.017 | | | 5 | 2 | 5 | 0.05695 | 0.17388 | 0.0173 | | | 6 | 3 | 4 | 0.06701 | 0.17103 | 0.0064 | | | 7 | 4 | 5 | 0.01335 | 0.04211 | 0 | | | 11 | 6 | 11 | 0.09498 | 0.1989 | 0 | | | 12 | 6 | 12 | 0.12291 | 0.25581 | 0 | | | 13 | 6 | 13 | 0.06615 | 0.13027 | 0 | | | 14 | 7 | 8 | 0 | 0.17615 | 0 | | | 15 | 7 | 9 | 0 | 0.11001 | 0 | | | 16 | 9 | 10 | 0.03181 | 0.0845 | 0 | | | 19 | 12 | 13 | 0.22092 | 0.19988 | 0 | | | 20 | 13 | 14 | 0.17093 | 0.34802 | 0 | | | 4 | 14 | 9 | 0.12711 | 0.27038 | 0 | | | 5 | 10 | 11 | 0.08205 | 0.19207 | 0 | | | 0 | | | | | | | | 9 | 0.19 | | | | | | | 0 | | | | | | | | 1 | 4 | 7 | 0 | 0.20912 | 0.978 | 0.9 | | 2 | 4 | 9 | 0 | 0.55618 | 0.969
, r' c: K! k( P* h0.9 | 1.1 | | 3 | 5 | 6 | 0 | 0.25202 | 0.932 | 0.9 | | 0 | | | | | | | | 1 | 60 | 0 | 0 | 0 | | | | 2 | 65 | 42.4 | 21.7 | 12.7 | | | | 3 | 0 | 23.39 | 94.2 | 19 | | | | 4 | 0 | 0 | 47.8 | -3.9 | | | | 5 | 0 | 0 | 7.6 | 1.6 | | | | 6 | 85 | 12.24 | 11.2 | 7.5 | | | | 7 | 0 | 0 | 0 | 0 | | | | 8 | 0 | 17.36 | 0 | 0 | | | | 9 | 0 | 0 | 29.5 | 16.6 | | | | 10 | 0 | 0 | 9 | 5.8 | | | | 11 | 0 | 0 | 3.5 | 1.8 | | | | 12 | 0 | 0 | 6.1 | 1.6 | | | | 13 | 0 | 0 | 13.5 | 5.8 | | | | 14 | 0 | 0 | 14.9 | 5 | | | | 0 | | | | | | | | 1 | 1.06 | -40 | 50 | | | | | 2 | 1.045 | -40 | 50 | | | | | 3 | 1.01 | 0 | 40 | | | | | 6 | 1.07 | -30 | 40 | | | | | 8 | 1.09 | -30 | 45 | | | | | 0 | | | | | | | | 1 | 105 | 2.45 | 0.005 | 50 | 200 | | | 2 | 44.4 | 3.51 | 0.005 | 20 | 100 | | | 6 | 40.6 | 3.89 | 0.005 | 20 | 100 | | | 0 | | | | | | | | 0 | | | | | | | | 0 | | | | | | | | | | | | | |
|