|
|
发表于 2010-7-28 12:24:23
|
显示全部楼层
%本程序采用牛顿-拉夫讯法对一个五节点电力系统进行潮流计算3 m0 F+ N% q8 c+ W. f: e- m
% n=input('请输入系统节点数目:n=');
0 t; s$ H" @9 x$ Q% nl=input('请输入系统支路数目:nl=');
: [ P. ~; I) ]5 x/ @$ d% ph=input('请输入平衡节点号:ph=');
+ [6 @$ e$ G y* L. |) Y% jd=input('请输入误差精度:jd=');& X& l% K5 |3 E) I( B5 M \0 k" e5 C6 W
% B=input('请输入由支路参数形成的矩阵:B=');
/ E9 K: m, e5 C1 {2 Q( A1 x- ]2 k% A=input('请输入各节点参数形成的矩阵:A=');
1 p3 W* ]) {& gclear all
+ b2 G* p. y. B0 ?2 f* {1 _n=5;4 z4 V" i1 Y2 }2 g/ A* p
nl=5;
" U/ h; D( j: w& u; Z+ Kph=5;
( @# \0 V$ _. H) D- Bjd=1E-6;. ^1 X( ?. P: ? R9 p
%支路参数矩阵
* e6 ~0 a7 {' wBr=[1 2 0.04+0.25*j 0.25j 1;$ A2 Y5 n( A; u% e2 n Y
1 3 0.1+0.35*j 0 1;
/ N5 [8 `, P( J/ k: b0 ]( f 2 3 0.08+0.30*j 0.25*j 1;0 h2 ?6 b9 b: g5 G8 O, s' r7 n- l
2 4 0.015*j 0 1.05;
9 I9 f4 X8 C! J4 `8 d/ n1 J 3 5 0.03*j 0 1.05];
6 {' s% R/ n9 C$ z# ]& V5 Z* M%节点参数矩阵:2-PQ节点,3-PV节点,4-平衡节点5 O4 U' m: p" Y. l; c3 `
A=[-1.6-0.8*j 1 0 2;
; o9 Z# D% c! H -2-1*j 1 0 2;
3 z/ L: _3 c1 T9 ]; t" ] -3.7-1.3*j 1 0 2;
F" h& }$ G" k) m8 M9 u" U 5 1.05 1.05 3;
0 O' w- Y& ~# ~& i5 e6 R( C) \ 0 1.05 0 4];
8 e4 A3 m3 H$ r; N+ G L3 n
. Y2 o1 g- g, [7 `$ j%雅克比矩阵形成; q8 q8 U- x+ h; ^3 t
Y=zeros(n);4 s& \7 b# W8 ^. n1 y0 Z
e=zeros(1,n);+ _1 f$ |6 F- X# a/ l! B) a) Z
f=zeros(1,n);1 I2 x$ |0 G r4 Z
V=zeros(1,n);
) t+ i7 O* o/ i# c ]2 w2 Jfor i=1:nl/ b' q* z j9 P- {/ q" Z1 ~
p=Br(i,1);
3 a3 l' J" L' K q=Br(i,2);( d' v4 a v# @0 l8 m
Y(p,q)=Y(p,q)-1./(Br(i,3)*Br(i,5));0 a6 e( E+ @3 r5 l
Y(q,p)=Y(p,q);
; ? s, ^# S- G Y(q,q)=Y(q,q)+1./(Br(i,3))+Br(i,4);4 K Q& ~ x2 K( i/ m
Y(p,p)=Y(p,p)+1./(Br(i,3)*Br(i,5)^2)+Br(i,4);/ j8 {9 D5 }1 Y6 ?6 X9 D2 v- E
end
7 i1 E8 }( n$ t7 H/ V% I) Hdisp('节点导纳矩阵为:Y=');
6 \: k. U8 ^) o! M, {% X0 {disp(Y);
# [( [& z! S" W4 p2 k! ^G=real(Y);, e6 Y( }* N2 ~( J: v8 |
B=imag(Y);
: A. C& B0 P% q; {$ J" {for i=1:n
2 e% j' G: _7 D D8 P e(i)=real(A(i,2));8 ]9 s4 V6 q/ S2 y, ]# r1 i5 p, x8 ?
f(i)=imag(A(i,2));
4 o" O5 v5 d! C V(i)=A(i,3);! c; d- v1 X B' I X
end6 Z4 j. R4 X9 b, N1 T
for i=1:n
$ z( ?3 G$ m( W" G: { S(i)=A(i);
. @0 n- T+ V1 j4 `. y# Y0 _! hend
+ e0 \* `( F) A$ ~2 o& C0 W. c7 `P=real(S);- S u0 ^* b0 J5 S
Q=imag(S);
: S9 x, b( T9 a7 r3 J%雅克比矩阵求取
% z" ^$ r; ]! p( ECi=0;
& @6 g8 K; x D9 {: l9 w! Ma=1;
# N2 f( G) q! G/ ?NO=2*n;
8 Q' K2 h4 P5 P" R/ [N=NO-1;
, M. f c7 }! o Dwhile a~=0
5 A4 D/ {! ]3 R a=0;
: w% s3 @/ e* W) V for i=1:n
3 W) C3 Q1 f/ \! z: R if i~=ph
* S0 s& W+ {0 s$ N C(i)=0; S, S6 f/ g% Z7 r. k
D(i)=0;
T3 s- C7 H1 T' c1 ?+ v for p=1:n
% X5 E0 L: S, U6 E2 F C(i)=C(i)+G(i,p)*e(p)-B(i,p)*f(p);
* C) w) m6 c5 y8 y* N D(i)=D(i)+G(i,p)*f(p)+B(i,p)*e(p);. B* Z* p+ M8 w
end
$ g8 J8 M% U+ A+ J/ P P1=e(i)*C(i)+f(i)*D(i);
0 c% N, ^/ U/ H3 V) M+ U3 ?7 X9 S Q1=f(i)*C(i)-e(i)*D(i);
# {1 t+ }9 U: W2 P* A5 o! b V2=e(i)^2+f(i)^2;
$ j, l* D* K9 k( `8 k* p if A(i,4)~=3, B/ p1 {" d: v5 a6 z
DP=P(i)-P1;* y! l) e7 }$ U7 x0 f8 w9 C$ j4 O
DQ=Q(i)-Q1;
/ O ?: }3 n: K( B+ u& X% g N for k=1:n
5 r9 @: L1 L9 ?5 O& C%非平衡节点时,非对角线元素0 R7 ~+ W/ I& @
if k~=ph & k~=i
0 O0 D$ L% }7 m; l, v X1=-G(i,k)*f(i)+B(i,k)*e(i);
% H& q9 B+ t6 C& A1 u X2=-G(i,k)*e(i)-B(i,k)*f(i);' m8 S ?# M3 h' U
X3=-X2;
% A p% y9 |) R" L' m' p X4=X1;
& d3 w) o$ ], K" }- `/ Z% o p=2*i-1;% N( I3 z6 Q! R8 U4 u" u' y$ \+ n9 W
q=2*k-1;
, J! V {/ l9 A0 F, y, z J(p,q)=X1;
& Q( ?3 y7 S2 e% L J(p,N)=DP;( C) n# x( h! x
m=p+1;
8 @4 o9 k* `- ]# `- y+ W" J2 y1 X J(m,q)=X3;
! k6 F9 @$ @$ C7 a# x8 c J(m,N)=DQ;* e7 |5 x9 V4 T+ U: z" M! Y
q=q+1;
7 U7 a7 r! J1 T J(p,q)=X2;% `6 S Y S( j+ a
J(m,q)=X4;
# f, I0 T7 }1 n n9 O z9 D# t%非平衡节点时对角线元素1 q4 n/ H/ r" _, R n4 c
elseif k~=ph & k==i5 V# \( @4 P- C- a4 ^% e
X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
- l4 ?( _0 {3 e4 s& ^) ` X2=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);
) C; l, O0 E6 ^0 }- f1 v X3=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);
) _$ f6 H8 z2 [" z3 i X4=D(i)+B(i,i)*e(i)-G(i,i)*f(i);' v2 u. }% M+ Z, b5 \* A3 A' Q
p=2*i-1;* i/ ?9 F) J- w, w4 C7 S6 e
q=2*k-1;. A- F0 O) D& ] q1 i; A! @ |
J(p,q)=X1;: @' n; T4 ]% Y$ z) V" T' c
J(p,N)=DP;; X, W* T4 e6 r, G
m=p+1;
@7 L& K) f2 p7 m J(m,q)=X3;' [( s$ |2 E1 Q: x
J(m,N)=DQ;6 z8 Y8 L$ |0 d% o8 H
q=q+1;6 x1 N1 H2 o3 T0 w' B! e% {
J(p,q)=X2;8 v3 {& ~. Q( }: }6 V# c
J(m,q)=X4; K7 g1 A3 x& _: F8 J) Y
end
4 }& K0 Z \3 K- M6 K+ o, Y# F end3 p3 a% d* Q+ e9 j1 ]! m
else( g" u9 Q; l9 D! _) X% ]+ F) ]
DP=P(i)-P1;' W6 y, _* | n8 S5 r/ l Y
DV=V(i)^2-V2;( f8 g$ N8 e, M% ^1 F/ Q
for s=1:n1 {' J1 Q* G! |) ^. d7 D
if s~=ph & s~=i" ~9 m7 v+ p4 N4 c1 h( D5 p [2 D2 B
X1=-G(i,s)*f(i)+B(i,s)*e(i);3 U# w& n, i( k2 l! j3 I7 \) y
X2=-G(i,s)*e(i)-B(i,s)*f(i); % @ z1 c# {/ A
X5=0; t% c& D3 [- t! k3 x5 F5 e0 \
X6=0;
. L' d. R( ^ _# @2 _& o/ w p=2*i-1;! h4 c1 J1 y! m6 E4 x6 M: W
q=2*s-1;/ X/ l4 z- o+ C! L3 W8 [) \9 X" T
J(p,q)=X1;2 C0 H0 M5 J* d
J(p,N)=DP;
$ U; J) l8 x. w/ R9 h! Z m=p+1;9 ], i) X3 C8 c: O) T7 m( {
J(m,q)=X5;$ _; O+ ]: G. f- G* m) B
J(m,N)=DV;2 X, r- l3 z+ c0 O7 {; d5 c3 f
q=q+1;" C$ t- p2 C; u% W
J(p,q)=X2;
' J4 Q& e% M1 o4 Z3 j- v: h( r8 G J(m,q)=X6;! [+ p+ w3 O- A- E6 Y9 z2 ]
elseif s~=ph & s==i
& N5 y6 X8 G7 [. X" ` X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i); 5 a A# A# K5 u* b& G( h
X2=-C(i)-G(i,s)*e(i)-B(i,s)*f(i);
/ j6 O; ~. h3 P( ~+ y) o) P" | V X5=-2*f(i);
2 W2 M2 m* X2 j% ?2 A5 L( j X6=-2*e(i); $ \3 ]/ B" J7 E0 @- W. _
p=2*i-1;
9 X( a( H3 M2 o, m4 Z4 M q=2*s-1;) w6 N2 y+ o; ~' k$ H3 [1 T0 O
J(p,q)=X1;( {# @) A! d& S R' V- _3 P" V# z
J(p,N)=DP;
- x# Q) g3 n4 j2 ^) _% W2 \6 ^ m=p+1;4 ^! z& @ f4 }8 s
J(m,q)=X5;
) w- ^- n; ^% c) K" H6 h z, ~ J(m,N)=DV;
$ ]8 @' g( k9 Q# o q=q+1;- c& P7 [+ ~/ v( K0 V
J(p,q)=X2;
3 L* K Y' p$ W- h3 A J(m,q)=X6;; `; T+ O E5 L- h2 s
end9 x3 ?, `. u; Q8 Q
end( F) i% i8 D6 _2 E" H; r& N
end# J) f7 h9 f/ a& D& ~; Y3 f
end+ r. F, }* s7 D* v6 z' t# h
end
) s& O! j1 ?' G* T disp('系统雅克比矩阵为:J=');" z; U( H) Y9 N6 A3 {2 i9 u
disp(J);
# _* W) e5 B0 a. K3 B7 Q%对于高压电力系统,最大元素出现在对角线位置,简单计算如下0 P: B/ x/ k5 F4 t/ j9 I- x6 P1 ^
DJ=J(:,[1:NO-2]);
9 j `! L: B2 V DP=J([1:NO-2],N);
4 C6 F, f) ^: p# b3 Y8 v DU=DJ\DP;
; T) o! x b. e3 D" k disp('************************************');5 u. g2 K+ v0 g0 f4 y% q2 C
disp(' ')
6 ~/ h* @6 [# _ c4 y disp('第几次的修正值DU?');
4 w- N6 a, O4 }( L' R; q disp(Ci);" ^9 a6 B* h4 e" h) [
disp('***********************************');' j' }- ~- M/ S5 I! N& e* ^4 i
disp(DU);
( r7 _5 R# A& U1 c) e for i=1:NO-2' G: h1 P3 w) [+ Z# E1 C& V4 F- A
eps=abs(DP(i));( c7 N3 [1 V% N# W% l# }9 Y) [
if eps>=jd;
0 I0 H0 q5 S& I a=a+1;0 l: n8 Q( v9 G& ]3 o% ]( r
end. u- r6 Z" x( D) R8 R* s& ?, ~' O! U
end+ Y0 A) i0 b$ j! Z$ n" U
Ci=Ci+1;' z/ K- B, i$ \2 e9 e
for i=1:n-1 h4 j; B4 y1 i& @ A; `
e(i)=e(i)-DU(2*i);" ]" }( R( K# m5 x: B$ _5 E5 R
f(i)=f(i)-DU(2*i-1);
; R2 ?( G; V6 d/ } end5 Q; v1 `0 T/ ~+ `9 y
E=e+j*f;! {% E2 K3 W, K4 @/ R! S
disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');- ?5 x: |! F" d( y" K
disp(' ');
y/ u+ z9 P, {2 S; w7 T disp('第几次迭代后的近似计算值');4 d) e8 e$ q7 P# }
disp(Ci);5 _ _, E; S0 M _' T- W
disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');3 `! q H* j4 d4 b1 q
for i1=1:n
1 d' E$ o9 i8 e0 ?+ d$ i1 M! v V(i1)=sqrt(e(i1)^2+f(i1)^2);
! l8 m% k4 g/ g" U3 E ANGLE(i1)=atan(f(i1)./e(i1))*(180./pi);' x# C1 Y2 W6 K: T
end
1 }; O8 y) \% S& v( ^%下列输出结果均按节点号从小到大排列7 X7 w" Z+ i2 h' W
disp('各个节点的电压实际值为:E=');2 d# {0 Z$ M; r9 U! F4 `3 j
disp(E);
) z9 T$ t& Y$ g$ W/ x9 x disp('各个节点电压幅值为:V=');5 X& J! P: C& S. ?5 j# D
disp(V);; r8 l' S, m3 r% I: V
disp('各个节点的电压相交为:ANGLE=');
5 ]( A+ j; q0 q4 U0 a6 _5 u' M disp(ANGLE);' v- o0 s n3 I) X
disp('各个节点的功率误差变化');( Y/ Q0 ~# A, j2 i. e
disp(J([1:8],9)');
5 v( e3 r2 l$ @9 A MDU(Ci)=max(abs(J([1:8],9)'));
# J* H, _' L0 t' ~! S# @8 ]4 U; Y for p=1:n
+ a4 O% _/ ]$ x `' [3 ? Sm(p)=0;
# o. p8 u& m T' X# b for q=1:n
+ d. b8 a7 o: s$ Q- n. q Sm(p)=Sm(p)+conj(Y(p,q))*conj(E(q));
: T* Z: q- r2 m' h end
8 A' T5 ?* W* I. K7 V: w; y7 S S(i)=E(p)*Sm(p);
/ w+ z+ u6 I" V+ T end
) A# L$ @2 ^! n7 Z- A# b2 D3 Z( Dend3 k5 B7 H% |! Q
disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');# T6 X: A% ~' I1 n. X' @
disp(' ');
) G" X; T* r% B9 ]- Sdisp('计算的最终功率近似值如下各项值');) {3 u4 |( m5 C5 s% R `! U2 B
disp(' ');& y( d1 Q0 {7 k* |- Z! u
disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');
6 S6 c O: @) \% Gdisp('各个节点功率为:S=');
, P1 \& b7 v' n5 |' @+ R gdisp(S);
( Y- G+ e; a5 W, }( _ t; E& kdisp('各条支路的首端功率Si为:');* F, C' H! |; z% |9 ~0 U7 f
for i=1:nl J9 Q5 t, m" r& H, ~ n6 @ Z: W1 [
p=Br(i,1);q=Br(i,2);
% a1 q1 W3 w: z: f* r A(i)=E(p)*[conj(E(p))-conj(E(q))]*conj(1./(Br(i,3)));
% x u; a+ P( B( P5 Q% P. n SBS(i)=[abs(E(p))]^2*conj(Br(i,4))+A(i);
9 t6 h# C) [* s# `, Nend
! s# @9 h# `. M% i0 s, d! ldisp(SBS);
2 I2 y; t( Y* m9 A7 C6 z6 Wdisp('各条支路的末端功率Sj为:');2 E7 u4 q3 I# J3 o3 o
for i=1:nl" x' \1 c' i5 H9 }% Z7 D$ Y5 o
p=Br(i,1);q=Br(i,2);) V: v0 q! H! G$ D8 Z
A2=E(q)*[conj(E(q))-conj(E(p))]*conj(1./(Br(i,3)));
; W( k9 A, j; v+ S* l3 h1 q SBE(i)=[abs(E(q))]^2*conj(Br(i,4))+A2;/ o# M+ \5 T0 x: k& B! T1 h
end4 G% i( U5 j8 H, ~
disp(SBE);4 n+ A5 c& G" J. H a
disp('各条支路的功率损耗为:');
. M4 f- p, q, jfor i=1:nl" i; H' f ]: T- ^' ]
p=Br(i,1);q=Br(i,2);
, G9 V2 }& A( l6 ?% r. e SBL(i)=SBS(i)+SBE(i);9 m$ u7 {" { `: o% A9 L4 N( M) h9 C
end* z' o7 S" h/ F
disp(SBL);4 ^' Y" `# X+ ~
%绘制功率误差曲线,先用最小二乘法进行曲线拟合
% |; F7 q% V0 ~" cfor i=1:Ci+ X- E0 o' d& Z; X
CSH(i)=i;: T' O3 A- a+ n; P+ W6 E0 s0 c5 V
end
, s- P( E5 L" F" d5 v5 |P=polyfit(CSH,MDU,3);
% ]& m' m# ~- l" T$ j4 e9 `! @' O; Lplot(CSH,MDU,'-O'); |
|