马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
clear %清除工作空间原有的变量
4 }! b( I+ A7 Z% n2 ^$ Fclc" G% H* A6 n. H/ b
a=textread('IEEE14.dat'); %读数据文件$ U# j' t c `
n=a(1,1); %节点数
0 z$ g& H/ d5 m. t) aline=a(1,2); %支路数
' C3 x% X7 q% T; lblance=a(1,3); %平衡节点2 z. i; e: p& p H4 q! |
SB=a(1,4); %基准功率& A4 Y! V! W4 P9 i4 U' \
kmax=a(1,5); %最大迭代次数, u# a% p X# w$ D4 l
ab=a(2,1); %计算精度
2 w O( Z: Q+ f* V$ V# a6 nt=find(a(:,1)==0);
+ a0 P: l4 {# v/ D( @+ |" H" Mxianlu=a([3:t(1)-1],:); %形成线路参数矩阵
8 _+ a: `. i, w; vjiedi=a([t(1)+1:t(2)-1],:); %接地支路参数矩阵) ?2 l- ?9 S% k r9 p0 |! n
bianya=a([t(2)+1:t(3)-1],:); %形成变压器支路参数矩阵
, R* U9 U7 L7 D# h* h: a& zjiedian=a([t(3)+1:t(4)-1],:);%节点功率数据矩阵4 ^& @4 R1 K7 M6 `
pv=a([t(4)+1:t(5)-1],:); %pv节点数据矩阵+ ^& I1 }8 M% T9 e3 u- q6 z$ F( K- U1 D
%读线路参数0 }& }* ?/ J6 S7 P$ s0 {
linei=xianlu(:,2)';
! ^# C4 }- U0 u3 @0 }. olinej=xianlu(:,3)';
: V3 E7 k. p0 U9 M5 mr=xianlu(:,4)';
# P' k5 J/ q; L7 Dx=xianlu(:,5)';
; a& C9 ]. {1 r; w. V( h; Mb0=xianlu(:,6)';+ \% a( Y% }+ M& x+ R! I; i
+ l" U6 F9 g8 O+ Z' Mg=r./(r.*r+x.*x);- h( n4 ^0 Z2 S" B) t- `' ^ f
b=-x./(r.*r+x.*x);
& h" e/ F* o8 D* S+ fG=sparse(linei,linej,-g,n,n)+sparse(linej,linei,-g,n,n)+sparse(linei,linei,g,n,n)+sparse(linej,linej,g,n,n);( l2 E) S( N7 `* P% g! q
B=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);
3 q( ?7 v. L2 j1 T3 T2 g% 读变压器参数
, U5 Y3 F4 U- g% z+ i& c- r0 c5 G1 Ulinei=bianya(:,2)';( P" @& J5 `# B; S' q$ L' T
linej=bianya(:,3)';$ p6 V0 K; ]$ S8 b; U
r=bianya(:,4)';
: s1 m; \! e8 \6 g/ N0 tx=bianya(:,5)';
3 V6 i2 G& p% I3 B9 X9 Fk0=bianya(:,6)';
8 @) P" {" b* m' og=r./(r.*r+x.*x);* m5 j( _2 f- G. J" i
b=-x./(r.*r+x.*x);
3 R A/ |( w, A) gG=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);9 H& v) P3 @ ?( E/ X* T
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);+ S8 N3 ~3 R+ C
% 读接地支路参数
- t4 K' l2 y4 T8 `, |, @jiedidian=jiedi(:,1)';
# I8 a$ @9 q' G$ O- s7 J4 [1 wbranchib=jiedi(:,2)';8 X% t0 [8 A' T8 a1 A3 w
B=B+sparse(jiedidian,jiedidian,branchib,n,n);/ ~' W0 {2 U$ K* d$ O
%节点导纳矩阵
4 c* L# c7 g ?Y=sparse(G+i*B);* M: f+ l0 ]" i" F
% 读节点功率数据
6 L+ K, A5 o0 C0 x9 ^$ bpg=jiedian(:,2)/SB;+ T8 ]" A$ Z/ x( y, }* q v/ n1 v
pd=jiedian(:,4)/SB;7 R7 l( w8 M+ U! f F& L% G
qg=jiedian(:,3)/SB;; Q' I+ _ t' [+ W6 k' W# P
qd=jiedian(:,5)/SB;
5 i* ` A& B# H' p( Q' b& w3 L; K% p5 f- |" _. {6 n
p=zeros(n,1);
- K7 _* \. ?) m3 Q( L7 X; A2 S! @q=zeros(n,1);
% r4 x% K. Q x+ @6 ]p(jiedian(:,1))=pg-pd;& H; T6 h0 T; Y0 i; A* p. S4 c
q(jiedian(:,1))=qg-qd;1 r/ u+ z* \$ k; B8 O2 O
% 读pv节点数据
G/ z2 R6 m9 a; d% K( }0 a' cpvjiedian=pv(:,1);. w7 t0 P8 F8 d% @: m
vpv=pv(:,2);
2 p" A3 e4 T( Y [2 m" ^! a e" }6 Jv=ones(n,1); %电压初始值
( G6 E, ], ?& U- _8 ]1 |v(pvjiedian)=vpv; %pv节点(及平衡节点)电压已知5 j2 W T0 \4 f( x( }' l
delt=zeros(n,1); %相角初始值
/ Y% K6 x" C' X- [ V# t* qdeltp=zeros(n,1); % 失配有功功率初值 I9 r9 y$ r4 U+ L0 r0 G
deltq=zeros(n,1); % 失配无功功率初值$ F6 x+ _# b9 D7 A$ y
6 m9 ?) {& ~. \% i- H7 i
%迭代求潮流计算2 C, Y6 i' n9 z- c1 R
for diedai=1:10 %置最大循环次数
& X- t3 R' j* y# }+ O$ _) U clear i9 ^+ F: d1 u% w n3 K& ~/ W9 S2 L
% 失配功率方程8 e: o$ |) g5 D* ]1 F6 `
V=v.*cos(delt)+i*v.*sin(delt);) f3 h, _$ ` }+ O: Y
a2=conj(Y*V).*V;, K; r: l, C: ^7 a( X
deltp=p-real(a2);
2 e! T8 A5 }( w6 i+ w+ A% x deltq=q-imag(a2);7 `3 s5 S3 M# v5 A9 |7 L0 }+ F1 J
& t7 R1 F" w) s
% 求雅可比矩阵
' G$ }/ N, q7 J' B for i=1:n
! B6 b+ Y. _/ g% h. H) n for j=1:n, \2 A& ?7 _/ L8 a6 n
if i~=j
) ]9 }' {, [2 M+ C8 E$ c H(i,j)=-v(i)*v(j)*(G(i,j)*sin(delt(i)-delt(j))-B(i,j)*cos(delt(i)-delt(j)));
2 T6 B9 P Q0 S9 w; n' d2 H/ z else
' g C1 @6 s9 x* Y6 ~+ s7 n* m# c: m H(i,i)=v(i)*v(i)*B(i,i)+q(i)-deltq(i);
* A0 I& U i/ \9 |: q% m' [) E. e end
8 P# y- e, [/ r! m1 { end
' c- @, H+ Z- c end / } {4 I5 Z* v
5 J& P: x) O, n2 D# D$ Y& g for i=1:n
( T& K" u R# G3 j0 K for j=1:n. d# b* W$ u. V0 g" R) H
if i~=j
4 ~1 a/ z9 |6 w3 E+ @) K N(i,j)=-v(i)*(G(i,j)*cos(delt(i)-delt(j))+B(i,j)*sin(delt(i)-delt(j)));
( _' y/ ?# ^2 \4 i else& `' @ t |6 g! S) O- d ~
N(i,i)=-v(i)*G(i,i)-(p(i)-deltp(i))/v(i);
7 ]4 x' ^) b% {' l end! K: Z$ O. Z! _# ?2 {* U
end
; o2 S3 f4 d% V end / x, I4 k7 n, {6 Y% A1 H
3 s. ]3 w H% B: s4 A for i=1:n
3 ?0 M& w5 ]0 g) v2 E$ M% f for j=1:n
/ H- v3 o8 E K: {' x if i~=j
4 r! T1 f* C% D0 c x3 s' F J(i,j)=v(i)*v(j)*(G(i,j)*cos(delt(i)-delt(j))+B(i,j)*sin(delt(i)-delt(j)));& J& _$ X9 ]$ i) ~5 F' T2 S
else8 z7 t( U, e7 w( Z
J(i,i)=v(i)*v(i)*G(i,i)-(p(i)-deltp(i));- A- \; `8 I4 i. f+ y
end% |0 P( y" X, }- ^0 i
end- h6 s7 ^. W/ b9 ^' A9 Z2 y+ I
end , f8 p: i! M* h! x
9 p7 t/ `1 y8 V$ r- v for i=1:n7 i) @, |9 T: U
for j=1:n
0 R& O) n2 [9 q/ d# l0 L if i~=j F- I' }. {* h0 _% b; o* q
L(i,j)=-v(i)*(G(i,j)*sin(delt(i)-delt(j))-B(i,j)*cos(delt(i)-delt(j)));7 A2 {! ]& M* ~# v: T8 w
else6 D( ]5 \; G |9 ^# U
L(i,i)=v(i)*B(i,i)-(q(i)-deltq(i))/v(i);
; l0 S6 N4 D+ \0 T end
; m& H2 k! g3 {. a2 j& w. q end
7 G/ b s! R. O7 S) V9 v: ~ end - [1 s% s6 c8 Y0 K+ B
%修正雅克比矩阵
# i% t2 E& O" k% q# M8 k Ya=[H N;J L];5 q4 S7 A+ c/ q0 z( d& H: R. z
Ya([blance blance+n],:)=0;
' } H& h: g' h: [7 w! V Ya(:,[blance blance+n])=0;
W3 l/ V- N! F) C" E6 }2 y Ya(blance,blance)=1; %平衡节点, e2 @9 L) T+ I
Ya(blance+n,blance+n)=1;
/ {0 ^2 C4 a: S' E9 s2 F( B- k q5 a Ya(pvjiedian+n,:)=0;; c# K [ f) L
Ya(:,pvjiedian+n)=0;: V0 V* Z0 d2 \* M w$ Y/ ~. `
for h=1:length(pvjiedian)
M9 R' o; ~2 {1 S* x) Q6 t Ya(pvjiedian(h)+n,pvjiedian(h)+n)=1;5 H; j" R& d' @8 Z
end* `+ C! m# V9 R; y8 D0 g# F
; X ~( M8 ^/ @7 T/ f& S
%
, S1 X: o; }5 J deltp(blance)=0; %平衡节点deltp=0( J( Y7 l5 [, x5 O p2 ^
deltq(blance)=0; %平衡节点deltq=0
2 C2 J1 f A- z5 G# X8 x2 C : t6 S# \+ l0 ]
deltq(pvjiedian)=0; %pv节点deltq=0
$ Z% r- M9 C% t) @& w deltpq=[deltp;deltq];
! y6 w7 ~1 ?9 x; c if max(abs(deltpq))<ab % 如果结果满足精度3 B1 E! [/ M* {7 X- K; T) V
break % 退出循环 5 u3 G5 C# b3 i: ~
end
- v, R7 O; B Z/ h, H/ W- U R=Ya\(-deltpq);
3 H6 W. U2 l& G, { delt=delt+R([1:n]);; J3 \- ]+ s& x9 @
deltt=delt*180/pi
" b8 c/ j; R' h2 g5 p/ Z* j v=v+R([n+1:2*n])
8 F; F1 G% x# D$ q7 b& ^ end ( @( g! l" p$ {2 ]. `/ }! Z6 p
, b* s: N5 l- e% N$ J& \' N& S4 i8 z) w! p
数据格式
# T$ U" N9 V. h# b' P# T| 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
3 N9 _7 h. i8 {* N4 z0.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 | | | | | | | | | | | | | |
|