|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
希望对大家有所帮助哦* |$ m O' @9 j: t, W" Y
- clc* k( T5 z4 _4 w- U$ D* J
- disp('此程序为牛拉法解潮流') e% R! d$ F5 K( E
- nPQ=input('请输入PQ节点的个数:');
2 @ P( K6 ?3 a' o1 K8 M- n; f ^ Y - nPV=input('请输入PV节点的个数:');
* L8 q( }/ Q! e, q3 L0 C* q( o - n=nPQ+nPV+1;
" f; J8 r9 U8 l: u8 [ - Ps=[0;-0.5;0.2];
& i& l0 \# N0 c8 X4 H1 L0 q6 { - Qs=[0;-0.3];. B$ o% E1 ?7 ?
- Us=[1.0+j*0;1.0+j*0;1.05+j*0;1.05+j*0];+ ^! T" y( t5 E: p, [* F
- % nl nr R X Bl Br3 m* D2 e, w# P
- zdata=[1 2 0 0.1880 -0.6815 0.6040;8 X" G& \& ]( v' i2 c m
- 1 3 0.1302 0.2479 0.0129 0.0129;
% C; z# R( z/ F) q7 Z3 f - 1 4 0.1736 0.3306 0.0172 0.0172;
* ^, }+ I, q3 ^2 W0 R. ] - 3 4 0.2603 0.4959 0.0259 0.0259];) w7 c `$ B# ?
- % nx B ) h; V. q6 A% H5 o2 u8 T
- xdata=[2 0.05];
7 W8 w4 \9 N6 G: j" C - dPQU=1;; k9 u6 y8 D w/ S p
- %计算导纳矩阵
0 N9 L- [% Z7 y9 [' b/ ~, k - nl=zdata(:,1);
; }# o( S6 Z1 Q% u3 Z! m) Z - nr=zdata(:,2);' {' m. y" m: S; y8 A6 J
- R=zdata(:,3);& H( F% c" I {0 j: B" E
- X=zdata(:,4);
( ?4 ?4 X5 j5 F6 ~& j - Bl=zdata(:,5);
: O0 }" g/ v: Q9 \4 _9 D4 D - Br=zdata(:,6);
9 ]! [: Q s) V - nx=xdata(:,1);. M9 N5 W* W0 M- a: a" t' o2 _$ b
- Bx=xdata(:,2);/ ^1 j+ Q0 @. a+ w5 t
- nbr=length(zdata(:,1));4 K% D! T5 _; |7 x; ^; W1 T$ @: s# ~2 m9 M
- nbrx=length(xdata(:,1));
4 b" Y1 S/ L6 [9 B - Z=R+j*X;
- u+ M) O9 w" }5 }! E; v( X6 J9 V - y=ones(nbr,1)./Z;0 U; i6 T9 T* Y- J
- Y=zeros(n,n);
' I( v1 M4 p- e& V' j$ ]2 Q2 H2 Q - %计算非对角元素
* N) u8 [$ q1 j+ Y - for ii=1:nbr
( E) a9 m$ w3 e0 ^ - Y(nl(ii),nr(ii))= Y(nl(ii),nr(ii))-y(ii);8 X: b% b- y' L8 s4 ^4 d1 e q; _
- Y(nr(ii),nl(ii))= Y(nl(ii),nr(ii));0 A, ^( e4 Y9 y. T: h+ j8 ?1 j
- end3 J0 F; F4 b' ~/ ]
- %计算对角元素
1 h; a$ \6 B+ u; [9 |: z& N - for ii=1:n
" R) a- m% S& f5 m# N. x5 S+ Y8 | - for jj=1:nbr; h T, A2 ?$ q6 u9 {# c
- if nl(jj)==ii|nr(jj)==ii2 d* o! v/ U& O" X( `: P* y
- Y(ii,ii)=Y(ii,ii)+y(jj); e' W. G. o S4 m9 V, l u- w+ G
- end7 I, l: v* y2 D: K0 ^0 e- e
- end7 _' Z( x# y/ [& R: o& e
- end
" D9 _ Z# s2 v- i - for ii=1:nbr, H! ^' u1 N1 _! x; l. B
- Y(nl(ii),nl(ii))= Y(nl(ii),nl(ii))+j*Bl(ii);
' r6 H: a- [2 @ - Y(nr(ii),nr(ii))= Y(nr(ii),nr(ii))+j*Br(ii);
& [/ e* {9 f* R* k: S3 a8 A - end
! o4 u9 o( @$ y; X. r2 n, S - for ii=1:nbrx+ _: T; ]( t8 X# x b- N t& ]
- Y(nx(ii),nx(ii))=Y(nx(ii),nx(ii))+j*Bx(ii);* c. P4 E/ |9 a+ S1 G& H" h
- end/ t" w7 H3 l$ a6 d2 ~
- %分离G、B
4 w) ^% a( C$ k( V6 p4 {: |8 y - G=real(Y); R( }$ |, [7 f7 m8 f" z1 a( p
- B=imag(Y);
7 h( J/ s; Q& L - disp('导纳矩阵:');) m# a' I8 n f+ ~3 s. c/ ?3 H
- Y+ @1 W Q: W% @+ k( r, {
- e=real(Us);
e; _' D5 A8 G( ?: K* t2 V; A - f=imag(Us);
; f" q6 w- C7 a* k - k=0;
' L0 ^4 d7 r5 `9 x/ e; D3 v' R - while dPQU>0.00001 6 M+ M( _0 n% j% g$ s- z
- %求dP4 A8 M% }; e- `5 q1 N
- dP=zeros(n-1,1);
3 I1 o, _+ l, a4 X/ A( Q7 c - for ii=1:n-1& o4 s0 R' w0 Y3 X1 J: M
- t=0;
8 K' y/ ^6 d3 h/ s' [( Q- J1 K5 { - for jj=1:n' @+ |5 j% ?2 g# F
- t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj)); 5 v( {: L% G' D8 r( P* B
- end5 Y" a& C! r% D, O- Q1 Z6 n
- dP(ii)=Ps(ii)-real(t*(e(ii)+j*f(ii)));
5 {$ Y" U3 Z. ]- {* x" s4 G - end ]& ?7 B% r) z, |0 P0 z7 L/ |
- %求dQ
4 v9 H# a( |; E - dQ=zeros(nPQ,1);
" A: w& \9 E8 d, ?1 G2 c' ? - for ii=1:nPQ
9 z/ Q$ I ?8 L5 A7 w - t=0;
" i$ I7 G2 E: j/ q. }: m; S - for jj=1:n/ a* p6 A8 ]# h# w# Q
- t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj));8 Q$ e: O% E% @- Z1 w$ _- P4 D* q
- end
- ~$ M: `. E L! ~ p/ S - dQ(ii)=Qs(ii)-imag(t*(e(ii)+j*f(ii)));4 l% X& }7 K# J `
- end
3 d+ ~* U% f1 B# n5 A( i - %求dU^2' H3 `0 [. a6 r. Y! K( [! k
- dU2=zeros(nPV,1);' R! i- a& j3 W9 r
- ii=1:nPV;( L+ ?' o6 w- h3 R! @* Y; T0 z5 Z. I
- dU2(ii)=abs(Us(ii+nPQ))^2-abs(e(ii+nPQ)+j*f(ii+nPQ))^2;
1 j1 ]' I5 r. Y% m) U$ g - dS=[dP;dQ;dU2];8 u! w5 l9 |8 L# W! c3 v
- dPQU=max(abs(dS));% _* s S) C* x/ w8 g) R$ w* |9 h
- if(dPQU>0.00001)
3 l3 K. P0 C+ {- k0 Y - k=k+1 r4 V* q- h* }6 q) l. l
- %形成雅克比行列式
5 U) x* O3 o' E+ Z - Jacob=zeros(2*(n-1),2*(n-1));
( ?" A5 Q4 i: u2 k5 l$ @- O - %P部分5 h1 o( `4 c* j" E/ }) J' b
- for ii=1:n-1+ g% |! \: S C% c$ T- w# z. _( w, _ h
- mid1=0;
# \* r5 i% W6 a! Q* m - mid2=0;! P- P3 w5 y+ }& s, `
- for jj=1:n
; G% \: o# E' v/ f4 I9 P9 f - if ii~=jj&&jj<n
- R" k, ^! z- u/ k - Jacob(ii,2*jj-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));0 ^9 M, m5 f, j' ^0 O" a3 G7 Y
- Jacob(ii,2*jj)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);: j5 z, U% d" i* P% n4 e7 h1 e4 l
- end1 ]' X% t0 _# z4 M" z, j
- mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);
! m0 i% ^! h4 F& O& K - mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj);
/ u% `/ ?9 z% N8 S4 Y/ o6 h - end
% A& X. y" {& V& y - Jacob(ii,2*ii-1)=-mid2-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);. s4 n# p* I' Q
- Jacob(ii,2*ii)=-mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);
) D' r# x- p" ?; h r& ^ - end
' X8 I* f! B1 [ - %Q部分
0 i9 `0 j7 f4 f6 @0 j - for ii=1:nPQ
; N( O; v; A, A9 a* J, I - mid1=0;
5 [) `) q d1 w( g" {5 y - mid2=0;. C2 N; m& f4 q8 Q+ Z, ?
- for jj=1:n" b3 i; g8 P3 }2 w3 I% S& L
- if ii~=jj&&jj<n4 C& Q/ j! G4 I6 x7 h
- Jacob(ii+n-1,2*jj-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);
; H$ F" i* g6 A( `" @ - Jacob(ii+n-1,2*jj)=G(ii,jj)*e(ii)+B(ii,jj)*f(ii);
) j+ ^4 u' J( D8 H2 S - end2 P: ^& c* c- t" J4 L
- mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);: h' r+ c: `0 l) ^
- mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj); 1 ]0 B( z: I5 s; S+ m
- end
$ {9 O" q8 q' }; d; s& k$ B - Jacob(ii+n-1,2*ii-1)=mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);
; w s- p, b' c a; e* l" a8 J6 T) i2 A - Jacob(ii+n-1,2*ii)=-mid2+G(ii,ii)*e(ii)+B(ii,ii)*f(ii);, R: `% a0 ?2 l" o4 P6 u: \
- end3 T" |' _& i+ |. Z
- %U2部分
$ r( |! m' @! Y" _- D' B% J, ~ - for ii=nPQ+1:n-1
5 N- j: M. Q) b+ D - Jacob(ii+n-1,2*ii-1)=-2*e(ii);
4 H: @; `! `" k' N0 t( f/ U# P - Jacob(ii+n-1,2*ii)=-2*f(ii);, _3 |' E* o y2 k7 W3 t; ~. q9 n* `
- end$ W8 A: K) f4 H2 N6 y( Q ~
- dU=-inv(Jacob)*dS;- }+ D; K7 r/ {+ }+ h
- de=zeros(n-1,1);
; I" {. T6 g" v5 }; j. z - df=zeros(n-1,1);! u3 D7 S3 T- Z3 K. ?
- ii=1:n-1;1 E7 B7 j6 {6 N( u
- de(ii)=dU(2*ii-1);* s( ~! d' D3 N: @0 k' ]
- df(ii)=dU(2*ii);1 L1 m& W, E* J) u
- e(ii)=e(ii)+de(ii);
/ F7 t8 X, W# N4 f& E1 |- s3 h& ?4 f4 [; R - f(ii)=f(ii)+df(ii);
9 O6 _1 k- G) ~4 m! j ^$ Q - end
9 C! A4 F& d0 e2 [# Q3 `( n U - end%迭代结束
1 S) X1 j7 f- W0 } - U=e+j*f;
: t! m6 `* W: P; D4 w! g; ?5 V - %计算PV节点的Q2 A- s5 S. ]( e# n2 i ]0 l5 {/ n& b
- P=zeros(n,1);
. s6 R: J$ }* D8 j& I" F - Q=zeros(n,1);4 L4 {' O! G# y2 v
- for ii=1:nPV$ h0 _# ]" \2 z9 H/ H
- t=0;
0 n2 E6 F/ r v8 X) w. s. j - for jj=1:n0 i4 D$ a$ X2 D, p- p4 Z8 ]( Q
- t=t+conj(Y(ii+nPQ,jj))*(e(jj)-j*f(jj));
5 O3 {. Q+ X6 v J3 _ - end
. f* ~9 l! R4 f- M7 U2 ?- Y - Q(ii+nPQ)=imag(t*(e(ii+nPQ)+j*f(ii+nPQ)));
9 t8 }8 T+ c& d8 I3 U4 G3 | - end( j; \. }% w4 f7 |" i/ {, U+ u
- %计算平衡节点/ V% z5 g' v: d+ w5 n: _9 G! I
- t=0;
* C9 }8 N/ T7 f: |; o2 H2 W9 Q - for jj=1:n1 H: c0 H$ }1 f2 Z2 d* Y* U% U
- t=t+conj(Y(n,jj))*(e(jj)-j*f(jj)); e7 _ c% v/ i) a- w
- end% R! k, a& s) K& Z$ s6 ~
- P(n)=real(t*(e(n)+j*f(n)));
/ Z9 [1 X8 p) \- Y7 n( L' j - Q(n)=imag(t*(e(n)+j*f(n)));
! j9 q8 F' P6 G: Q+ { - ii=1:n-1;0 C* n. l5 F' @1 H1 j
- P(ii)=Ps(ii);
- u* Q3 m) P$ D2 A' _7 ^. W/ i( q4 G - ii=1:nPQ;1 z; }5 A m* a7 e+ x
- Q(ii)=Qs(ii);
6 [, w* w! [( C& W - %计算线路潮流
) k: M& S% l$ I! P9 G5 ] - Sij=zeros(nbr,1);1 k. a2 w+ F1 D0 v; I
- Sji=zeros(nbr,1);
$ @% X5 r* J0 A% _8 y' d - dSij=zeros(nbr,1);
p2 _+ x% v! N! n: { - for ii=1:nbr
5 d/ c# V$ \+ H* |; l: b - Sij(ii)=U(nl(ii))*(conj(U(nl(ii)))*(-j*Bl(ii))+(conj(U((nl(ii))))-conj(U((nr(ii)))))*conj(y(ii)));! z. e b+ m8 C M7 @
- Sji(ii)=U(nr(ii))*(conj(U(nr(ii)))*(-j*Br(ii))+(conj(U((nr(ii))))-conj(U((nl(ii)))))*conj(y(ii)));
, e8 O# c8 t; |, y8 O1 L - dSij(ii)=Sij(ii)+Sji(ii);) J9 f% v* V1 [7 N5 f u1 L$ v
- end1 i L- ?8 z7 K9 G4 h' y
- nn=[1:n]';+ k3 @$ w0 j" l* l, y% u+ g- l& t
- disp(' n e f P Q');# E+ [5 x* i# v: @$ D
- Display1=[nn e f P Q]
9 @/ S8 h0 H3 N' D) r - disp(' nl nr Sij Sji dSij');
$ I* m8 [/ r- N0 B& c- @$ B* R - Display2=[nl nr Sij Sji dSij]
. v" H) \8 m* [% h
( B7 ?3 K, s: V% i) k& b6 B) z
复制代码 |
|