|
|
发表于 2010-7-28 12:24:23
|
显示全部楼层
%本程序采用牛顿-拉夫讯法对一个五节点电力系统进行潮流计算5 v; r# F0 ^: N/ ^" h& D. }+ |( Q
% n=input('请输入系统节点数目:n=');3 j% d. Y: n' Y; y0 O7 o
% nl=input('请输入系统支路数目:nl=');
4 P4 }" B* @/ W% ph=input('请输入平衡节点号:ph=');
1 M0 \) }+ F6 ~' E* p( m. v% jd=input('请输入误差精度:jd=');
' S5 s. x% M: t4 [$ G% B=input('请输入由支路参数形成的矩阵:B=');
7 m! j6 P, L( _2 j* `! L* l; x% A=input('请输入各节点参数形成的矩阵:A=');
( ^0 \2 L8 h ^: K: U+ A) Y/ Sclear all
. L- m# m" K( K7 T- G& Yn=5;( ]7 b( F i! p4 `2 [ f
nl=5;7 V7 Q$ A5 v( e4 J
ph=5;
! A0 I, t' A7 h H7 k# m3 M( cjd=1E-6;
% F9 j6 [! U& W/ O7 @/ o%支路参数矩阵: z+ J5 W# j! `0 O
Br=[1 2 0.04+0.25*j 0.25j 1;( e) u" F4 N( j+ s* |4 V2 ]
1 3 0.1+0.35*j 0 1;
# \" d7 g" V* [& o) N& g0 x3 x/ M 2 3 0.08+0.30*j 0.25*j 1;
% \% Q8 N- P2 e1 A% j 2 4 0.015*j 0 1.05;
. m8 C# t- ^" o# q# C 3 5 0.03*j 0 1.05];
1 X: i/ d( ] |2 w7 I" S, |/ X%节点参数矩阵:2-PQ节点,3-PV节点,4-平衡节点6 x R( y- ?2 F% |/ d* R
A=[-1.6-0.8*j 1 0 2;8 q' @% E1 i5 F9 [, p+ |1 x
-2-1*j 1 0 2;
* V" y$ T. a5 d -3.7-1.3*j 1 0 2;: j. Q9 H; C# {& L4 t: a
5 1.05 1.05 3;# `5 o! K0 {( W% e I
0 1.05 0 4];
. f" @4 _4 [8 F, U7 K1 k/ d& n; v
* j& w7 H! i# K6 L+ N5 R%雅克比矩阵形成
0 |) H' [0 y2 Y+ _: e2 R# X+ yY=zeros(n);4 b V; ?2 v" ^
e=zeros(1,n);
: Q7 v* C7 h, j- e P) Y2 Qf=zeros(1,n);
8 d9 U/ U4 e: s. {# A2 ^V=zeros(1,n);
6 O( E4 N) ? Y# h+ C& S/ c1 Mfor i=1:nl4 n! |' D! p! Z+ {1 b4 I
p=Br(i,1);2 `! d ?. b* I' [+ p5 R0 L# N
q=Br(i,2);
, |/ G, _ h% @9 P Y(p,q)=Y(p,q)-1./(Br(i,3)*Br(i,5));* h& H( c" x* v5 S/ }
Y(q,p)=Y(p,q);
( ^8 b8 U# z* A; C: h! C9 X Y(q,q)=Y(q,q)+1./(Br(i,3))+Br(i,4);
1 y( W/ U3 E# d+ ?- D8 O% u* S Y(p,p)=Y(p,p)+1./(Br(i,3)*Br(i,5)^2)+Br(i,4);2 A$ [* u% J9 k; k& k; Y
end " u5 q7 w* Y! G" r3 f
disp('节点导纳矩阵为:Y='); K: W6 s' B( x& }1 `) A u
disp(Y);
2 K: B) k2 I- n: o bG=real(Y);8 X. Q l2 K. @. E* [
B=imag(Y);8 n y; ^( G/ _1 i, i
for i=1:n1 J/ G: o, O; t* S
e(i)=real(A(i,2));7 o5 @1 L5 ~1 h/ o" u# K! u$ v
f(i)=imag(A(i,2));1 y3 U2 h; d7 Z8 A
V(i)=A(i,3);
; ?$ D9 C u. E: Fend! u1 m7 O: l2 Z# i0 p% u- `: [
for i=1:n
8 t6 r' Z8 E) {1 K' D* c S(i)=A(i);* z( Y% Z& ?) a+ g: D; X/ V9 z
end
. M" @& s& O$ l8 bP=real(S);6 }3 u' Q: h1 K8 L" H5 }( m
Q=imag(S);( v* C; U7 \ A3 O+ r
%雅克比矩阵求取$ c9 }: w9 {% G8 W. [7 D
Ci=0;
0 e/ D, j4 ]3 j- ~- ~. ?3 w+ za=1;
( t' y" R% L/ t: p& [NO=2*n;
& J& J( Z0 ^) d# Q, T, X) l( c, }N=NO-1;
* U6 j+ `- `3 K" `5 {while a~=0# [0 M, E$ e7 b
a=0;6 ]1 a7 S/ N- x4 e4 b4 ]
for i=1:n0 d) J% }% L( M! e0 ~3 w
if i~=ph
7 m+ {, J" Z6 O, S+ e; ? C(i)=0;
* |1 _' a! c8 B- ]! R D(i)=0;
5 { S7 u5 l% ]' K Y2 t. f5 v0 y for p=1:n
! ^, n) F' W) h& S: G& F C(i)=C(i)+G(i,p)*e(p)-B(i,p)*f(p);! }8 Q( @9 R$ B4 b' T+ u
D(i)=D(i)+G(i,p)*f(p)+B(i,p)*e(p);$ q* V3 P9 C2 ~' `9 {- M& b: T/ h) K
end9 }% W& V6 f6 ]
P1=e(i)*C(i)+f(i)*D(i);
W# u( Z6 M6 Y3 {2 e9 [ Q1=f(i)*C(i)-e(i)*D(i);
( b- p, M) `& b! g2 v2 ~" C0 w! E3 z V2=e(i)^2+f(i)^2;
) t$ q5 T' w7 _: Q L# `0 k if A(i,4)~=31 i$ ^/ Q6 } r: M; M
DP=P(i)-P1;
, w6 J3 o7 `7 e$ L DQ=Q(i)-Q1;6 P# p5 w1 [1 J, ^
for k=1:n" ]3 P4 s" k% X/ ?! |' u
%非平衡节点时,非对角线元素: b" h1 N2 {4 t5 {2 d8 n
if k~=ph & k~=i
% e" m% l+ e* b X1=-G(i,k)*f(i)+B(i,k)*e(i);" i+ W: _1 B- C9 u( g4 V
X2=-G(i,k)*e(i)-B(i,k)*f(i);
5 }7 e- f* U I1 u1 ^ X3=-X2;
1 |& i% y, l$ }5 H! T" `/ u X4=X1;
. l0 Q' x9 o0 y. M" v p=2*i-1;
$ k: U; A# J8 D' v' b" l q=2*k-1;
+ A- ^3 h- Z+ }# n7 _9 a J(p,q)=X1;! J0 T* ]& I0 Q/ {$ g
J(p,N)=DP;
^7 m3 `2 y0 f9 c! d, ? m=p+1;+ O7 X5 k# b$ N% ]
J(m,q)=X3;
1 M9 ]9 I: `& |, v" A4 { J(m,N)=DQ;, y E! @' Y" l W
q=q+1;. ]# t! u M5 ~" m. g
J(p,q)=X2;
" H8 T3 i9 m% W! ~! t# p) s7 p J(m,q)=X4;
- c8 c( H' O' O0 H0 P3 l%非平衡节点时对角线元素
0 F' A) }/ i% \% {9 e+ @ elseif k~=ph & k==i; W5 L4 x, o# n' w; w
X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% p! v i( a# M, C; b
X2=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);
% \1 {( P2 y7 {) M+ C% y* o X3=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);
& I3 E/ _: v' i4 {8 P- j X4=D(i)+B(i,i)*e(i)-G(i,i)*f(i);, D- v( k9 z/ x4 E2 `7 ~0 w
p=2*i-1;
' U [# b; w, }$ g q=2*k-1;
' c: Q. t. W6 B. L J(p,q)=X1;. f4 D) t6 W. g B
J(p,N)=DP;
0 u# K: _6 s w/ W1 L% M m=p+1;' p' o9 g0 P2 c, r% q1 J1 S
J(m,q)=X3;
# }9 k6 C$ N( b& u/ v J(m,N)=DQ;
) J6 u3 Q& y8 M7 t% f) Y. U1 T q=q+1;7 F' u7 J/ b5 z8 [& ~! k0 G$ }
J(p,q)=X2;; V( w1 r9 t9 @/ c7 `: P7 v
J(m,q)=X4;
+ Q+ E0 u8 p3 ]& Z* G end7 k- V, ]$ d: s& \+ @8 C
end+ s9 z, S- y; M- S
else
. S& c# `+ M2 F0 \) R1 H( I DP=P(i)-P1;
3 }3 V: l1 q. y1 z DV=V(i)^2-V2;
1 g% x6 b I, j# B for s=1:n) z9 J; X0 k/ `% B! c
if s~=ph & s~=i
0 a6 G1 n( @+ x- Z X1=-G(i,s)*f(i)+B(i,s)*e(i);0 I* Y7 C% p/ }, X8 r! t) l
X2=-G(i,s)*e(i)-B(i,s)*f(i);
+ J" g' I0 x4 L# ^6 w X5=0;
9 A. M3 K9 |, I' Q X6=0;7 F1 ^7 u# N6 r9 Z S4 b- N9 V. A
p=2*i-1;
' Q6 R$ [" `6 n/ }& t8 z q=2*s-1;
+ t6 B5 Q6 r+ d3 Q5 v J(p,q)=X1;4 a. X- y+ Q. X% x3 Y
J(p,N)=DP;- F' ~; N3 N# ~" X7 L
m=p+1;# s& p6 ^0 ?+ S8 y6 A4 G; M
J(m,q)=X5;
4 u, a2 H2 B5 M4 ^% e" d J(m,N)=DV;7 ^/ N: d+ g$ v! L3 [' j
q=q+1;7 b) Z5 D/ F6 H8 o+ U+ H- A
J(p,q)=X2;
$ B$ L) o3 U/ L' R& W8 o( d# l J(m,q)=X6;
/ T2 e `5 Q( w+ k4 T elseif s~=ph & s==i
4 Z2 |* ?6 ^6 _" d+ } X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
, z' e4 E, y7 u6 |$ g6 A4 U, X X2=-C(i)-G(i,s)*e(i)-B(i,s)*f(i); ( V0 D1 L5 o( D% g/ ^1 h! @4 U! b
X5=-2*f(i);
! A9 p% e) ^& D X6=-2*e(i); 5 v0 h# o- R" V* H3 N, J
p=2*i-1;
" h- Q, k% |! l; W q=2*s-1;4 [! W1 V$ K& U9 c: s
J(p,q)=X1;5 j% u! C; P0 p+ l2 Q) ^
J(p,N)=DP;5 l% z/ Y$ [* u
m=p+1;
: Y+ m6 ^8 V5 v8 N" p. ^ J(m,q)=X5;3 B* F; e6 L* R( y B; N) K
J(m,N)=DV;5 V9 l' I i+ a6 s9 j
q=q+1;5 ^, p- {, \2 a
J(p,q)=X2;
0 m z- N7 o, G6 p' ] J(m,q)=X6;- x! M" f; A) x8 Q" s4 F
end
. e7 X. h n( i4 m9 { end
6 G- G% i5 j- Y end
$ g! s* |4 G( ?6 F8 d0 h end
# B; J4 B9 R2 { O" ]9 z& i end# `( w" {% _ N6 f6 ^# n
disp('系统雅克比矩阵为:J=');
8 R1 s- Q* A8 ?- T$ Q0 E( h disp(J);
! i1 [9 E9 E. f0 {, W%对于高压电力系统,最大元素出现在对角线位置,简单计算如下) a5 J9 B2 g; y" P
DJ=J(:,[1:NO-2]);
( `7 Y5 z3 F: X! Q N2 j% U DP=J([1:NO-2],N);/ F0 G7 ?4 I- g9 b$ m0 o- H
DU=DJ\DP;
$ I/ K$ a( t9 a2 o1 I6 a, k disp('************************************');
Y. z1 `2 u9 r/ L disp(' ')
# h* D. l8 [( C* Z9 d disp('第几次的修正值DU?');8 \3 F4 X9 p8 Q: x8 k# ]& |5 {# @2 n
disp(Ci);' K+ Z0 \3 e. {" @
disp('***********************************');! N* b8 T- z: M
disp(DU);
$ t2 D% N5 `- t, c; L; U for i=1:NO-2
/ b" n; G( q7 Q eps=abs(DP(i));/ M c" {6 V. ~3 n. B- y* h4 T
if eps>=jd;7 s6 p7 \6 u( t1 Y9 Y& u
a=a+1;
3 q/ F% W* W$ e end& S" V. l9 j; G* I$ u
end
3 ?& m! E$ C( r! J Ci=Ci+1;
( L/ h* T0 h8 i6 m* |! L for i=1:n-1
- `- R$ U* }' u# H, ^' e; T$ V e(i)=e(i)-DU(2*i);
- Z2 @% U( _1 r; A3 e. j2 _ f(i)=f(i)-DU(2*i-1);" l" F/ ] ~- _4 x( f
end9 f9 n; |6 F4 I# S) C K7 ^
E=e+j*f;
& y9 B5 B Y) K0 T% s9 X disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
1 Y+ g9 ?" D# K2 Y; A$ e disp(' ');+ m/ I' n2 r; s8 ]# M7 k
disp('第几次迭代后的近似计算值');
8 Q; x8 v, Q: B- {+ K. T disp(Ci);
1 U, e& Z. b+ L3 E/ D7 C disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');8 G7 w$ p; H- e* ], U9 l
for i1=1:n5 C& |9 q8 ?& b
V(i1)=sqrt(e(i1)^2+f(i1)^2);4 R$ a" j9 D5 I* d& C' Q, v: V
ANGLE(i1)=atan(f(i1)./e(i1))*(180./pi);
+ @& k, t' s( U8 r+ G6 { end
^& i7 K8 K/ s3 ]; Z1 l%下列输出结果均按节点号从小到大排列- o" [- O& i7 a j! a
disp('各个节点的电压实际值为:E=');. ~8 X: \7 h2 R8 z, {2 j! @! Q) e
disp(E);
+ H& d9 B2 `; v; q disp('各个节点电压幅值为:V=');8 b$ D, S. s9 Q: x, M
disp(V);
+ b( w* C. R& p3 M" ~( S+ ? disp('各个节点的电压相交为:ANGLE=');5 Q" C1 a( z( G7 w& h
disp(ANGLE);( b9 @! L. |, t7 j0 M- y8 N# a* W
disp('各个节点的功率误差变化');# g+ S5 X* I R
disp(J([1:8],9)');% z- f! R; Q; `3 }5 {4 _: s9 a
MDU(Ci)=max(abs(J([1:8],9)'));
. R: s: P( ~0 u for p=1:n) u% O2 Y) i& v3 u% g" R! _8 n0 Y
Sm(p)=0;- c1 ~: Y6 K x! b
for q=1:n! d$ y b! ?$ b" T
Sm(p)=Sm(p)+conj(Y(p,q))*conj(E(q));
8 c n, l8 u# ^% v# E end0 Y: q3 n$ _$ n0 O; j
S(i)=E(p)*Sm(p);
8 W. `5 x6 `/ [( P end0 Z# b/ M: I6 m
end
t7 c- \- [9 V" u! tdisp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');1 h, ?; T8 N! k
disp(' ');
0 G- w @" a& J; Ldisp('计算的最终功率近似值如下各项值');: ^( k: e6 U" A
disp(' ');
8 O4 S( y s/ M9 Jdisp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');
3 j; y$ n! v) z3 u7 R2 k* Udisp('各个节点功率为:S=');( M- W5 G6 P, I
disp(S);* Q; r8 q# B q9 ^' D
disp('各条支路的首端功率Si为:');
7 I F* X% T6 z* `$ ~5 hfor i=1:nl 4 \# Y( \& K' @1 K8 s
p=Br(i,1);q=Br(i,2);5 f: i+ d, X2 G- p; H4 S7 I( d
A(i)=E(p)*[conj(E(p))-conj(E(q))]*conj(1./(Br(i,3)));4 W* l+ c5 ~3 Y8 `3 [7 B
SBS(i)=[abs(E(p))]^2*conj(Br(i,4))+A(i);
$ Y) C$ z2 j# eend
% F1 ^8 u' p$ l' o Wdisp(SBS);
/ t, V: `6 N S3 _disp('各条支路的末端功率Sj为:');6 {" V. n. c; D/ `4 ^
for i=1:nl! L( Y7 _9 X: W( j. S. V
p=Br(i,1);q=Br(i,2);% m2 a, D9 X+ d8 p# C( K' o7 e; _
A2=E(q)*[conj(E(q))-conj(E(p))]*conj(1./(Br(i,3)));' P- Y& k+ u0 S' v
SBE(i)=[abs(E(q))]^2*conj(Br(i,4))+A2;7 E; c9 J2 Q) [- F {
end+ k# O) ? m; J d' z ]5 G6 U8 E
disp(SBE);9 I+ N% A- R1 {2 {
disp('各条支路的功率损耗为:');
1 r, w0 h+ A2 x- Y/ w! Kfor i=1:nl
/ F, l. n( @7 T M4 S1 {. U$ f p=Br(i,1);q=Br(i,2);
( X0 T; `% ~: y- } SBL(i)=SBS(i)+SBE(i);( d8 v: v0 a- l
end
m! k K8 D# j+ ydisp(SBL); V# W: L$ X* o! h2 \
%绘制功率误差曲线,先用最小二乘法进行曲线拟合* v- v) L7 N, l$ X2 t: x; d& ?
for i=1:Ci
& L3 S; d% e# `" R: l CSH(i)=i;
3 O6 |. Z8 e, E) hend, z r8 \% P5 @7 X7 [/ I
P=polyfit(CSH,MDU,3);( ]2 I7 K" A. o& G0 E3 u9 m8 ~8 M
plot(CSH,MDU,'-O'); |
|