|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
希望对大家有所帮助哦
2 `+ ]$ s$ d5 c) u" y3 G) _- }- clc
" ]; x$ v' k& k" {/ n - disp('此程序为牛拉法解潮流')
, V6 T1 H! ^7 Q; p5 m - nPQ=input('请输入PQ节点的个数:');
! Y# @. h: c8 ?* u - nPV=input('请输入PV节点的个数:');' A& x) U: A! \. Y' L1 ] A! r
- n=nPQ+nPV+1;6 u( Y2 Z( Y& b5 O& H7 x$ a" ?& ]
- Ps=[0;-0.5;0.2];9 d' [7 f4 Y% {( ]* G# `
- Qs=[0;-0.3];
; h# y% o% b* U, Q: H - Us=[1.0+j*0;1.0+j*0;1.05+j*0;1.05+j*0];8 K8 o3 s8 K7 P' X
- % nl nr R X Bl Br- U+ t' ~# S( ^3 W
- zdata=[1 2 0 0.1880 -0.6815 0.6040;
3 k1 T% Q) ]8 K2 e) { - 1 3 0.1302 0.2479 0.0129 0.0129;9 k$ f! m) i- p0 B; m6 N' Q: }$ Y
- 1 4 0.1736 0.3306 0.0172 0.0172;
$ j# }" X6 i' k" ]" e - 3 4 0.2603 0.4959 0.0259 0.0259];3 n3 o* V; R( V
- % nx B # `8 k; ^6 c0 Q4 ^7 y
- xdata=[2 0.05]; 2 i9 j$ W5 t6 Q: z8 d
- dPQU=1;
7 v B9 Q7 \3 }& R - %计算导纳矩阵
; [1 D/ C8 G4 B r' ?0 M& T - nl=zdata(:,1);
+ C3 m/ W2 L7 N; k( t - nr=zdata(:,2);: ~) U" t- j/ T8 F
- R=zdata(:,3);5 U# c3 ~- P3 K: Q
- X=zdata(:,4);5 ]1 P" m' d5 I! v r: C
- Bl=zdata(:,5);/ w. v$ o. W; n" F( J8 d. k
- Br=zdata(:,6);, C# `# m) H# W
- nx=xdata(:,1);
" v# Y4 F* d1 k" `5 Z8 V v - Bx=xdata(:,2);& i. T9 L" o$ v, z1 K# F# ^7 R
- nbr=length(zdata(:,1));
" L! e+ G* U% Z3 X% P - nbrx=length(xdata(:,1));$ I0 L% N/ V, M8 }
- Z=R+j*X;" u' T* ?6 p, m
- y=ones(nbr,1)./Z;
7 w# Y! C# H7 o - Y=zeros(n,n);
6 [: X; L2 x- C" Z - %计算非对角元素
) M& v0 ]3 {, |5 t+ O' x - for ii=1:nbr+ F4 a$ R9 ?) K. |+ b0 |7 Q
- Y(nl(ii),nr(ii))= Y(nl(ii),nr(ii))-y(ii);
5 k6 |+ K6 f# x v4 g P7 G) p3 F - Y(nr(ii),nl(ii))= Y(nl(ii),nr(ii));, W2 ^8 i4 L4 d1 S
- end G5 w- ?9 q; W
- %计算对角元素
2 Q0 }: o5 d4 `) p) y - for ii=1:n
% T) f; }7 {% R# @7 \% @8 | - for jj=1:nbr
# k% y$ _, t' @3 V: m - if nl(jj)==ii|nr(jj)==ii3 V+ G# L7 K- i4 Q( F
- Y(ii,ii)=Y(ii,ii)+y(jj);
. V& F: x/ f" h9 B, T" d - end1 M, C9 s6 ]/ N& ?; K9 c2 o' w
- end
' z! P( @$ ~# T- \+ m4 a8 S' g9 Y - end& O7 U8 R6 F- k* c: P
- for ii=1:nbr
: _" X" U1 s" l$ ^7 J - Y(nl(ii),nl(ii))= Y(nl(ii),nl(ii))+j*Bl(ii);
: b) {! j6 U- L8 k$ W2 v/ W5 m - Y(nr(ii),nr(ii))= Y(nr(ii),nr(ii))+j*Br(ii);
4 J9 i& S: \1 S9 D: G' J' w6 Y - end
$ V: W+ S: S d& C: ?, K - for ii=1:nbrx
2 t1 M- C r( G3 n1 b - Y(nx(ii),nx(ii))=Y(nx(ii),nx(ii))+j*Bx(ii);
# g1 F4 S% f) u2 N1 A - end+ G% N& C8 {4 r. w" n" V [
- %分离G、B) v5 D Q6 V7 V" K0 ]
- G=real(Y);3 I+ B1 N; }; X8 t1 ]
- B=imag(Y);7 o- r- ^) r9 T" P9 V6 r
- disp('导纳矩阵:');) r* F1 H) i! |! A# T" a
- Y+ l3 _* e5 ^+ l2 h; D) ~
- e=real(Us);' l! \6 L- i' \2 W3 n
- f=imag(Us);7 q! J! W1 G% `) j; ^* x5 T
- k=0;
# @( {; \; y$ d& \ - while dPQU>0.00001
9 U. T Y. z' l$ {: i% s - %求dP
- s8 B7 G* P$ i; T2 ]& |' k4 m6 G; O: L - dP=zeros(n-1,1);
- D% {8 L j. ?+ D - for ii=1:n-1
# m8 q3 `7 G6 |- Q8 R2 z6 q/ j' _ - t=0;
% M6 ^6 x% _$ x) ~2 _6 f0 n) C - for jj=1:n2 N/ e: b7 p; ?6 a
- t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj));
) ]" m% _# X. o7 C5 d( |$ Z$ p - end
# ?& G$ b+ S& M' l% _7 A7 B( ?; ? - dP(ii)=Ps(ii)-real(t*(e(ii)+j*f(ii)));
% ~# y6 b& M; ]9 n - end
, m& j: \" W2 M4 J) s - %求dQ
- |) E3 l8 S1 t9 S( h2 | - dQ=zeros(nPQ,1);* G. B2 z Q% c
- for ii=1:nPQ
f3 U/ f% U/ n- K9 J: X% |5 O - t=0;( S8 i( j1 V0 D) a! P
- for jj=1:n$ p. z; G$ ?; y: a; f8 S
- t=t+conj(Y(ii,jj))*(e(jj)-j*f(jj));
- f, o7 _' p8 n' C) N/ B C+ [' w - end; f" u: f7 X2 ~+ Z
- dQ(ii)=Qs(ii)-imag(t*(e(ii)+j*f(ii)));
2 x+ n6 ^! N) ?8 ~7 g) @' Z - end$ g. ^ o& U) o, Z+ n9 `
- %求dU^2- s' C' j" y# r
- dU2=zeros(nPV,1);2 `3 g; p1 P# g# v4 s# g
- ii=1:nPV;0 n [' S! \" x0 W" ~# t/ N
- dU2(ii)=abs(Us(ii+nPQ))^2-abs(e(ii+nPQ)+j*f(ii+nPQ))^2;4 L+ r4 B) ~) l% j
- dS=[dP;dQ;dU2];
+ z# M( @8 s7 q2 \) F; S( p - dPQU=max(abs(dS));
7 r+ d' x; T3 U* m& F' K3 {# `" } - if(dPQU>0.00001)
, T+ G& B4 [% s6 l' a0 K - k=k+10 n) \/ e+ V- k" {: b3 s
- %形成雅克比行列式
2 N& w% B9 v3 u) { - Jacob=zeros(2*(n-1),2*(n-1));$ Q! ~6 ]+ ]- E9 \( F7 X
- %P部分
# a" ^( E* ?( U, y$ Z* R9 V - for ii=1:n-1
- n) L, H: g% R! L. \ - mid1=0; J, U& b+ N; V! q4 z( H( @$ ?8 L0 e
- mid2=0; Z" K% H7 j, v4 `6 p' g6 N
- for jj=1:n
& u( m1 \3 G0 p6 o - if ii~=jj&&jj<n
0 x3 ^4 k2 x7 p. D+ a3 i - Jacob(ii,2*jj-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));
+ Q) }/ _7 F, p9 @ - Jacob(ii,2*jj)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);6 R1 y9 o, l# r
- end
5 a k( m4 g, X - mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);% H* R: y) ~% j' p( j& a
- mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj);
6 P! ~/ g! X2 f- h; o6 `' v - end- |" j/ _2 m# _) N% H& m$ A9 Y h$ b6 A9 d
- Jacob(ii,2*ii-1)=-mid2-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);" v4 E2 m: u2 c! k4 i
- Jacob(ii,2*ii)=-mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);$ k& P' l7 k9 Y; X1 K, Z8 ]# Y |
- end/ v* g2 e; ^" t! E
- %Q部分" [6 B' {& p. L8 k# ]
- for ii=1:nPQ
/ X- w5 F S( ~ - mid1=0;8 L: { \6 D& o1 Z6 Y9 Q2 F7 g7 l
- mid2=0;
0 q1 ]2 o( [3 O3 f2 ?- L - for jj=1:n5 [: y9 `( s/ D5 r* [/ N
- if ii~=jj&&jj<n
. x( a0 t# ?1 s - Jacob(ii+n-1,2*jj-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);6 ~7 V: v/ e4 I7 n3 y% @3 W+ H
- Jacob(ii+n-1,2*jj)=G(ii,jj)*e(ii)+B(ii,jj)*f(ii);
" s$ O3 } i5 }+ U8 }9 L3 j - end
# X9 C# E8 _* Y$ p; h - mid1=mid1+G(ii,jj)*f(jj)+B(ii,jj)*e(jj);
7 @7 |( n$ Z6 I5 i) ~ - mid2=mid2+G(ii,jj)*e(jj)-B(ii,jj)*f(jj);
/ L6 u! R# r' k! R - end1 i# c; ~$ P: Q V4 Y3 t
- Jacob(ii+n-1,2*ii-1)=mid1+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);5 E6 s$ i8 I% j( w& i
- Jacob(ii+n-1,2*ii)=-mid2+G(ii,ii)*e(ii)+B(ii,ii)*f(ii);! j& [( \& M' o: {/ ]2 S
- end- `5 v6 s- C; l2 c% o, z! x
- %U2部分, R$ ^) k2 I0 `
- for ii=nPQ+1:n-1
, e" C/ M6 G1 \ y4 [& f - Jacob(ii+n-1,2*ii-1)=-2*e(ii);
4 z1 d3 y( C5 O/ T! t" G. R - Jacob(ii+n-1,2*ii)=-2*f(ii);5 W7 ?" y0 {6 g |& N) o
- end& I9 f9 ]- J W" f; g
- dU=-inv(Jacob)*dS;
, s% p e b4 q* u- i - de=zeros(n-1,1);) h5 i. y3 ?# y! L9 B5 H
- df=zeros(n-1,1);* x0 N( F" v2 T
- ii=1:n-1;* ^( Y7 e7 j( H, y; _' q) i$ G
- de(ii)=dU(2*ii-1);$ G6 y* \ O+ v f# @
- df(ii)=dU(2*ii);
. x5 \+ M, _+ I( ?$ d" S; k - e(ii)=e(ii)+de(ii);8 d9 O% G5 W' {, W, a
- f(ii)=f(ii)+df(ii);
; @% l- ~; h1 i2 ~, W% t - end
! ]! a& O* d) V3 D - end%迭代结束
4 ^% s) t8 v5 ?1 l5 o |& d - U=e+j*f;) P. r& G. x0 L- q; M
- %计算PV节点的Q
1 Q! D0 @# R1 a# ]- X8 ]1 s - P=zeros(n,1);
( I6 E* G$ z! _$ a6 i2 c - Q=zeros(n,1);5 N9 C9 q F* `6 u9 N2 x
- for ii=1:nPV, Y: o- K: H# D
- t=0;; m- c1 a4 ?4 r [+ d
- for jj=1:n1 {' S/ R* e# ?( M9 l
- t=t+conj(Y(ii+nPQ,jj))*(e(jj)-j*f(jj));/ o; ^3 l( W: \% }! M# C
- end
8 A" Z5 v0 Q( t: [; r) h& Y - Q(ii+nPQ)=imag(t*(e(ii+nPQ)+j*f(ii+nPQ)));
3 D/ x5 X. {' Y: A) ` - end
$ J- |: G( Q: `/ Q; M" O - %计算平衡节点$ u( X" B' N) L5 X
- t=0; * R& z+ [" r+ c0 Q+ C8 a6 D7 K( S+ ?
- for jj=1:n
: H& _* H* q0 a' q: u - t=t+conj(Y(n,jj))*(e(jj)-j*f(jj));
5 m# L; }% J+ I: [+ N4 n) E - end' a# q# s. w8 z: a
- P(n)=real(t*(e(n)+j*f(n)));) e$ }3 v5 A- V: z" D, l
- Q(n)=imag(t*(e(n)+j*f(n)));
8 r6 Z1 }8 Q6 e - ii=1:n-1;
" }4 e( Z) E5 Z2 p - P(ii)=Ps(ii);
$ T$ m$ J* f. \' {# C! Z - ii=1:nPQ;' f2 W; X' S/ Y& Y3 O
- Q(ii)=Qs(ii);0 x) }9 `8 r4 M4 V9 @
- %计算线路潮流
7 A7 b* I0 n5 s) \ - Sij=zeros(nbr,1);! t$ }) k3 Y" f( k/ t/ g: g0 |
- Sji=zeros(nbr,1);
: Y& n$ J3 C, O9 \ n. S8 e. n5 y - dSij=zeros(nbr,1);
9 X4 P6 K) ^; v }, @1 ? - for ii=1:nbr/ b* F: f2 f& |( ]
- Sij(ii)=U(nl(ii))*(conj(U(nl(ii)))*(-j*Bl(ii))+(conj(U((nl(ii))))-conj(U((nr(ii)))))*conj(y(ii)));
0 Y2 \4 w3 M: C3 a' B6 z, j - Sji(ii)=U(nr(ii))*(conj(U(nr(ii)))*(-j*Br(ii))+(conj(U((nr(ii))))-conj(U((nl(ii)))))*conj(y(ii)));
+ r# \) F& e3 |1 o7 J3 A' p2 C - dSij(ii)=Sij(ii)+Sji(ii);7 q* r1 d! L) Z3 l. E
- end' l5 R; P' y" H1 k
- nn=[1:n]';
C$ x# o. B- J9 Y; {' _$ q* F0 K - disp(' n e f P Q');; S' G: y* l0 H6 Z/ {/ s) _
- Display1=[nn e f P Q]/ L# c7 u* M3 g6 }. ^
- disp(' nl nr Sij Sji dSij');
% B* Y( \3 j! R& V( [* y6 @ - Display2=[nl nr Sij Sji dSij]& p7 f3 R8 l; y j" K
' }" ]* J( F7 }1 ^6 s; g+ o0 `/ y
复制代码 |
|