|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
希望对大家有所帮助哦- F1 K/ k& ]' J& T' ]; Z
- clc
) N; r( s7 Q% d- j - disp('此程序为牛拉法解潮流')
2 T) u: P [" K2 S: e) d - nPQ=input('请输入PQ节点的个数:');
& [- F2 w+ x( S+ C1 Y0 G8 V - nPV=input('请输入PV节点的个数:');. Q! g: }! a; f- x; `
- n=nPQ+nPV+1;% K) M; k! }* b* ?/ k3 S
- Ps=[0;-0.5;0.2];4 H* E- P% {( t0 H3 W" f3 H7 f6 b
- Qs=[0;-0.3];
! s0 Y: d/ ]; Y$ u3 w: C0 W - Us=[1.0+j*0;1.0+j*0;1.05+j*0;1.05+j*0];
) [ I! l7 I4 z - % nl nr R X Bl Br9 L. Y4 o: L u- S0 ]& v
- zdata=[1 2 0 0.1880 -0.6815 0.6040;- H8 ~5 L" w2 R; J
- 1 3 0.1302 0.2479 0.0129 0.0129;
! c8 q* k2 I" [+ R% e - 1 4 0.1736 0.3306 0.0172 0.0172;) ~9 z# N- @" l8 d4 ]2 r, @
- 3 4 0.2603 0.4959 0.0259 0.0259];" N4 ^8 g g7 `: a# K
- % nx B ) O, m2 n, X/ h
- xdata=[2 0.05]; ! g" w3 N. O3 m5 s3 {+ J; F9 R
- dPQU=1;
8 D) a9 @% X* K6 M* c" r - %计算导纳矩阵
/ f) F& k+ l6 l' O) m" V - nl=zdata(:,1);
0 O: s& _* G; K8 @2 Z - nr=zdata(:,2);" N' Z) b3 ?/ A8 X4 `
- R=zdata(:,3); p4 w+ v' K" Y( J
- X=zdata(:,4);
- ]: s M7 X: [ - Bl=zdata(:,5);
/ n T! V' c0 b/ X. Y8 {. Z - Br=zdata(:,6);
/ z- W# J* Y! ?! {3 ~7 a, y - nx=xdata(:,1);
/ N! H& E: `6 ^& G0 ^ - Bx=xdata(:,2);
/ |- ]$ @. \9 U+ B - nbr=length(zdata(:,1));
. M' T% }- A- k. w* o% [ - nbrx=length(xdata(:,1));
! W/ D4 z$ t# v: F - Z=R+j*X;
/ i+ b1 S1 d7 F3 w, H' Z3 B - y=ones(nbr,1)./Z;
3 Z) O5 z3 s* r - Y=zeros(n,n);, G, z; }- s) s/ ^$ {
- %计算非对角元素
4 O7 d& K3 l! U - for ii=1:nbr
% E& h+ R2 s" L4 z - Y(nl(ii),nr(ii))= Y(nl(ii),nr(ii))-y(ii);) Q7 z9 z; M+ I
- Y(nr(ii),nl(ii))= Y(nl(ii),nr(ii));! h; S3 Y* c- T- E) b8 m9 n
- end" ]+ b h" m! b. o7 u) b
- %计算对角元素
) F9 g9 d0 f: M% m7 @- e5 T0 L( G - for ii=1:n
6 `* n4 [. ^5 l, [9 y7 f - for jj=1:nbr" _, D& N5 `# j ]+ s$ c" ^
- if nl(jj)==ii|nr(jj)==ii$ @) {( x2 ?7 h5 c+ n9 D
- Y(ii,ii)=Y(ii,ii)+y(jj);
) |+ ^. D/ U. ?: L0 K9 o3 ] - end
! V9 h1 \0 ^" b - end, q4 S* i# S3 `5 R4 n
- end2 N+ m5 s1 q5 h& ?
- for ii=1:nbr$ r, G Q$ ~( u0 Y: d
- Y(nl(ii),nl(ii))= Y(nl(ii),nl(ii))+j*Bl(ii);
8 { |( l7 n/ z3 k/ H - Y(nr(ii),nr(ii))= Y(nr(ii),nr(ii))+j*Br(ii);
, l: G; g' H% r9 u! l& @ - end7 U* w% ?2 x2 B
- for ii=1:nbrx
/ v. a+ |% q* M5 n; a3 o/ O' N - Y(nx(ii),nx(ii))=Y(nx(ii),nx(ii))+j*Bx(ii);& x; P! [1 N2 p- M' L" P
- end
# j" r9 L% v/ h7 f - %分离G、B8 s( S, j$ N) B) }
- G=real(Y);
8 a% E, x* z& O6 b, v$ [8 w - B=imag(Y);9 L4 K& Q* p" U! B8 _- ?7 N
- disp('导纳矩阵:');+ [4 ]2 D: V& k- B3 J3 B
- Y! Y( H5 ]8 D8 ], l
- e=real(Us);
% t; b* `% }7 X' y - f=imag(Us);
8 h* d' x2 u) O - k=0;
0 B# b3 w0 p2 l; G - while dPQU>0.00001 $ m& Y' X- ~' v2 [: F* s* @
- %求dP
9 w# k5 ^. i) F, K ~ - dP=zeros(n-1,1);
0 C& U& s7 G) d6 ]& X# U - for ii=1:n-19 s- |$ j8 ^, s% F
- t=0; & @/ f# x4 F% ^! v
- for jj=1:n$ J& N. g) j! V+ |
- t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj));
: Y) ]' k7 I" V" Q0 ]' N - end* k8 E' T# s1 j% V }4 F
- dP(ii)=Ps(ii)-real(t*(e(ii)+j*f(ii))); 8 E4 N3 v' c0 ?% w# W) k
- end : i) w/ I) J5 }9 B+ T+ P
- %求dQ
, v! q; d$ T3 A6 C& ]& O" b - dQ=zeros(nPQ,1);
$ P0 {( T5 L/ H" A3 L5 F, W9 W - for ii=1:nPQ$ k7 G# M& W4 k) n) S8 x" `
- t=0; w5 P6 {- _, N' r/ _1 d
- for jj=1:n
8 m& G7 a6 u9 `* S8 y* J' m9 G; ` - t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj));
: ?( v! b( z! j6 w- | - end
8 {+ w! J2 Z% S" S - dQ(ii)=Qs(ii)-imag(t*(e(ii)+j*f(ii)));
5 G* _" x+ b! T$ l4 C6 l, a) ~ - end+ W5 f5 w6 O3 z; W" m
- %求dU^2
+ `. q1 [' S# C9 e Y- Z - dU2=zeros(nPV,1);' r5 C# x5 v# p' _
- ii=1:nPV;
& N8 p2 R! F4 j! E7 x, W% z - dU2(ii)=abs(Us(ii+nPQ))^2-abs(e(ii+nPQ)+j*f(ii+nPQ))^2;
; s$ b/ `. o' y0 ?6 f* P - dS=[dP;dQ;dU2];6 B* a1 ?2 ]( z
- dPQU=max(abs(dS));
- `: _+ F; r4 E4 c8 m - if(dPQU>0.00001)$ W6 V. ]4 q9 ~- ^
- k=k+1' I+ ]$ h5 i0 x b+ Y
- %形成雅克比行列式5 ~6 t/ h" S) ~- V* X: p
- Jacob=zeros(2*(n-1),2*(n-1));
* C. E! V6 Y$ @2 Y, `/ \ - %P部分! f d( N7 S& @" d. u; u
- for ii=1:n-1
4 v0 M5 {' U( ]" }# }9 f4 _5 h - mid1=0;2 }& M% b2 |, y2 m
- mid2=0;
3 N1 @- u7 f6 u - for jj=1:n' O: ` W0 R9 T3 f. d2 ]3 V
- if ii~=jj&&jj<n; T+ H& l c8 P+ D3 U2 v
- Jacob(ii,2*jj-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));* o5 `, f( T2 b4 r
- Jacob(ii,2*jj)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);8 A* O' t/ Z5 o4 N; W Z+ i+ j
- end# s9 F3 m8 H' c: s, v% K7 }+ R' l
- mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);( W% m7 e3 F+ B/ x0 u+ o& Z( o, `! B
- mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj); - D/ D, u$ U$ N8 ~9 v) E( I
- end) l& |8 c I! Q2 Q, k& a4 [
- Jacob(ii,2*ii-1)=-mid2-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);
! x+ `3 }: a- v7 v% ~, p0 H - Jacob(ii,2*ii)=-mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);
3 A) Q0 d: n1 `% l! l - end
1 {# _, Q+ a. h6 _ b - %Q部分
% k2 Q# Z' l7 W2 V6 u. F - for ii=1:nPQ
! [. E3 P& n9 [0 Y( w" n: R - mid1=0;9 r! U: Y% b& t, }! v
- mid2=0;: ], M' O H2 ~$ Z9 R l) V) s
- for jj=1:n9 `; ?6 a( r; ?" t1 ~- Y( w
- if ii~=jj&&jj<n9 w! ~9 b; D; ]* R2 E: K% V
- Jacob(ii+n-1,2*jj-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);! H7 T1 |0 `* U
- Jacob(ii+n-1,2*jj)=G(ii,jj)*e(ii)+B(ii,jj)*f(ii);
7 m- l2 M6 w. j# K5 d, Z# H6 p* q - end, B6 M, P0 U7 _# |
- mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);
" g' G4 P7 m3 O8 L% o/ K - mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj); 7 Z; _1 v5 d" U& t
- end% J, ~/ G/ t2 |, J9 H2 {6 K" H
- Jacob(ii+n-1,2*ii-1)=mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);
5 z; V( @( N6 Y# E1 z; X( Z - Jacob(ii+n-1,2*ii)=-mid2+G(ii,ii)*e(ii)+B(ii,ii)*f(ii);1 |% |! N2 f" Q! \5 z* x
- end
3 c. E: n1 K z0 {* R - %U2部分- B& h j! K* ?2 [) ^5 G, B
- for ii=nPQ+1:n-17 V7 o4 M6 _. Y0 m3 c8 j4 b4 g
- Jacob(ii+n-1,2*ii-1)=-2*e(ii);4 i' z8 z5 T' b- s/ n3 M: q
- Jacob(ii+n-1,2*ii)=-2*f(ii); d ] [5 _# v6 c/ d8 ^0 U
- end
5 v$ l/ T) f7 v/ z$ B7 A9 | - dU=-inv(Jacob)*dS;
) Y, c/ L/ F9 @/ i - de=zeros(n-1,1);( C# x3 }! c- H2 S
- df=zeros(n-1,1);
/ z# _- ~" P& H& _0 A8 q4 X - ii=1:n-1;1 e; V! D' s' E5 G" q, A+ y: q
- de(ii)=dU(2*ii-1);
) V8 \# `2 S" `# @' H# G% o3 }+ p - df(ii)=dU(2*ii);
& z/ O' A7 ]/ w9 B - e(ii)=e(ii)+de(ii);
$ v& C/ M) F! v; a/ H% f - f(ii)=f(ii)+df(ii);
3 V4 V! {6 f4 B& ~: X$ H: p - end
, E5 O+ w2 A% @0 ]) x+ O& d - end%迭代结束
/ b, g) M( z+ ] - U=e+j*f;
2 G$ _' ?& y' |6 y! z! B( F4 I - %计算PV节点的Q9 F/ o8 z( i: x+ Y; F# K! e3 o' R
- P=zeros(n,1);/ Z- | O. C, T5 G
- Q=zeros(n,1);, w1 N. J8 L, W8 l* v1 E6 Q
- for ii=1:nPV) `5 C. q" {0 F7 J, Z7 e/ I, v
- t=0;$ ~. m+ k+ D0 E
- for jj=1:n$ s7 q+ e4 o) O A% u" g: U, y: U
- t=t+conj(Y(ii+nPQ,jj))*(e(jj)-j*f(jj));; ]# ~; W" o. t4 Y' Z
- end1 @% B4 L G7 q3 z1 b& l" X' }
- Q(ii+nPQ)=imag(t*(e(ii+nPQ)+j*f(ii+nPQ)));0 A$ C3 A+ m! z5 f$ l' E q4 O0 N
- end
/ R, t6 S6 A) v; z - %计算平衡节点
$ f) w1 ^3 H7 M - t=0; * |* d( V7 f r& o
- for jj=1:n
# i+ a: p1 z1 [% B; Y; _1 R5 B - t=t+conj(Y(n,jj))*(e(jj)-j*f(jj));
4 w9 u8 s4 i6 Z) K) s+ ^4 W# ] - end3 X+ t# J7 \0 x0 A8 W/ ^$ A0 q
- P(n)=real(t*(e(n)+j*f(n)));2 g# h, ]- S' D8 ^3 ?; E
- Q(n)=imag(t*(e(n)+j*f(n)));
. u9 J8 i6 Q4 z7 I - ii=1:n-1;
: e* `: Z' I" F6 k1 V - P(ii)=Ps(ii);8 v, Y- v* ?& K2 y
- ii=1:nPQ;8 X! I% A/ `7 U, L& U. K- l" A& L
- Q(ii)=Qs(ii);/ X" o6 Y% Z8 b; h
- %计算线路潮流" p1 W5 L3 Z* L
- Sij=zeros(nbr,1);
2 ?0 n' m9 m. |2 F - Sji=zeros(nbr,1);
* e2 C9 E7 P7 M - dSij=zeros(nbr,1);! b4 C1 f$ v( q4 V% |7 q7 N {; K
- for ii=1:nbr
O2 m" F& h, y% F( L - Sij(ii)=U(nl(ii))*(conj(U(nl(ii)))*(-j*Bl(ii))+(conj(U((nl(ii))))-conj(U((nr(ii)))))*conj(y(ii)));/ ]- f, v5 `- O) Y% z: p" g
- Sji(ii)=U(nr(ii))*(conj(U(nr(ii)))*(-j*Br(ii))+(conj(U((nr(ii))))-conj(U((nl(ii)))))*conj(y(ii)));
+ q* A) R3 j x" m/ ^8 A: N - dSij(ii)=Sij(ii)+Sji(ii);' x4 H3 M5 s1 I; C& b
- end4 |( V+ F9 ?0 D5 H) R, A' H# h8 ~
- nn=[1:n]';; d# K1 J5 S4 ]8 R z/ _4 i
- disp(' n e f P Q');
9 \& A5 ]7 N+ w2 i# m" {+ X; i - Display1=[nn e f P Q]
+ P& Y6 ^3 u* o2 }* k v - disp(' nl nr Sij Sji dSij');
% Y1 E5 U4 B, K( @' y- I - Display2=[nl nr Sij Sji dSij]) h" N2 \0 K9 c4 ] J5 D' @" H
- 1 l- d6 L$ A( V, _0 Z* s
复制代码 |
|