|
|
发表于 2010-7-28 12:24:23
|
显示全部楼层
%本程序采用牛顿-拉夫讯法对一个五节点电力系统进行潮流计算
$ f* o: \& c4 I9 x, G/ o D5 V% n=input('请输入系统节点数目:n=');
5 D3 I9 i( r+ s. ?* ? V% nl=input('请输入系统支路数目:nl=');
8 Y/ M& [8 B8 |) [- u! B) O% ph=input('请输入平衡节点号:ph=');
. X& X I: T5 H# ?* J3 T% jd=input('请输入误差精度:jd=');+ T. w: V |' ?$ v/ G! x
% B=input('请输入由支路参数形成的矩阵:B=');4 F! U4 ^8 ]1 Q- C5 x3 M7 K2 @
% A=input('请输入各节点参数形成的矩阵:A=');* l/ c M1 O- k( I
clear all
( j- g! S% D& |4 J! A5 sn=5;
1 M. V3 t- q4 Tnl=5;7 d4 X7 Z, L$ C, I9 F; Z
ph=5;% Z1 |, q+ e/ c
jd=1E-6;
J* {5 [8 B1 m2 M%支路参数矩阵
, { m$ O- W) u' v6 \& V cBr=[1 2 0.04+0.25*j 0.25j 1;% W7 D) g% K0 B; j
1 3 0.1+0.35*j 0 1;
; c; r, ]6 _) g 2 3 0.08+0.30*j 0.25*j 1;
/ v/ ? m* g% n4 o; i! i" E* y2 S 2 4 0.015*j 0 1.05;8 V& ^: E) b! Y' Y6 U0 E, K0 J
3 5 0.03*j 0 1.05];2 C+ g' O. g( E6 s' z: F* t
%节点参数矩阵:2-PQ节点,3-PV节点,4-平衡节点6 D% S/ j1 }+ F0 x; ~! f) o
A=[-1.6-0.8*j 1 0 2;
" o! E6 w- n& ^/ U; i) o -2-1*j 1 0 2;% Y9 t. V0 v4 ^ p3 i/ Z% S
-3.7-1.3*j 1 0 2;
1 U* F5 \! m5 j. I 5 1.05 1.05 3;9 p: ^5 A, B% y2 H
0 1.05 0 4];3 d F' V. Q5 ?$ f
5 l5 w0 b; f) x6 E% k2 p& ]3 @
%雅克比矩阵形成. T3 ]# Y8 E' @9 u* }
Y=zeros(n);: i* z/ T# ^8 O0 t7 @
e=zeros(1,n);
# I' Z) |! P$ X# e# g$ d, E6 gf=zeros(1,n);
3 x2 f+ P4 v; H. a" A$ h3 cV=zeros(1,n);
) L/ k9 L: N* c, Y2 }- C! dfor i=1:nl
: w5 S C8 G M1 J, V p=Br(i,1);
: z# b6 x9 `" @ d/ }4 g. F q=Br(i,2);& d. }6 h7 k9 j3 ^
Y(p,q)=Y(p,q)-1./(Br(i,3)*Br(i,5));
v: v6 ]5 e' \0 m, k% k/ e# c Y(q,p)=Y(p,q);9 b% ?3 s& h& R" X) }& i- @
Y(q,q)=Y(q,q)+1./(Br(i,3))+Br(i,4);
+ p% }% H) A+ D% ?4 C Y(p,p)=Y(p,p)+1./(Br(i,3)*Br(i,5)^2)+Br(i,4);
8 q/ r4 K6 C$ e- U2 k' s( f4 Y4 P+ w) u, Hend
2 j; V8 X8 k3 z7 j- |# ?( j* y1 ydisp('节点导纳矩阵为:Y=');3 O* x2 l: G/ }, K4 F; U
disp(Y);
$ o ]" [. I) p" i+ g2 S* h2 _1 tG=real(Y);. n2 a% G" N' K7 {
B=imag(Y);
. R; w- k4 t- a1 j0 h# Nfor i=1:n* o+ X: f& [' s
e(i)=real(A(i,2));
1 c5 P: k8 I( O& _& F" C- Y& _ f(i)=imag(A(i,2));# y) k3 {! y7 o3 Q [1 j4 Y' a
V(i)=A(i,3);2 Y; ]. g1 J9 \ ]
end8 x4 e9 \" m" z# j! m
for i=1:n
0 D$ q# z1 r. V( \ S(i)=A(i);
: V2 A4 o5 S" ?; {6 u4 K) B6 }end
# U9 |1 n0 [$ _) yP=real(S);& c! o$ P0 B) L/ N' z0 X
Q=imag(S);
& B& `6 r, l) m' x# m7 U ?%雅克比矩阵求取
: M' Z- Z% k' F( g* JCi=0;2 Q# @( U, U% A! ]0 f
a=1;
, t3 z! l. u8 o# U! s$ F9 R2 W+ RNO=2*n;
9 z4 c. M3 a$ g ^1 H% `6 M3 yN=NO-1;
& p; F5 k( n) D5 vwhile a~=0
4 I" v# z f6 B5 ]6 `- ^" h a=0;
5 J9 V _; W8 ~+ ~ for i=1:n
8 b( n: N* m+ w4 B F if i~=ph
9 B% i6 o3 F8 U+ F7 T4 @( b: s" ~$ Y C(i)=0;
# w u4 e& P3 X' a D(i)=0;
. J7 e; Q$ R' R* D: g for p=1:n
7 J$ l1 h- ^5 {- K; ^4 N C(i)=C(i)+G(i,p)*e(p)-B(i,p)*f(p);% {6 O& B3 t3 D/ O* d' {4 _
D(i)=D(i)+G(i,p)*f(p)+B(i,p)*e(p);
\$ Z6 z2 l5 Q! }4 } end _* v& q2 w/ U0 h6 Z
P1=e(i)*C(i)+f(i)*D(i);7 }$ A' | ~- Q* v+ R" n
Q1=f(i)*C(i)-e(i)*D(i);# V+ [: ?" ?0 a) h8 c' w2 x9 g: s
V2=e(i)^2+f(i)^2;
2 _) M, A$ _% V3 Q if A(i,4)~=3 T" ^9 y3 |4 A' h* V3 a& V* m
DP=P(i)-P1;
- a: T- Z; G0 R! _4 U DQ=Q(i)-Q1;0 q" [% j2 Y1 k7 J& m
for k=1:n
7 P2 X- o" e- d( @1 Y%非平衡节点时,非对角线元素/ Y0 N: t4 K: J" y6 J& f; J
if k~=ph & k~=i / p% S6 ` Y+ D5 |3 H
X1=-G(i,k)*f(i)+B(i,k)*e(i);4 j z, u$ O# G% p& ]% j. X4 c
X2=-G(i,k)*e(i)-B(i,k)*f(i);
# J4 p# a6 j1 Z8 H X3=-X2;# M" y. m& r; z* v$ X
X4=X1;8 L$ ~5 F- y; s" d. m
p=2*i-1;
, U9 Q0 t0 ~% J q=2*k-1;" z0 A* S0 j# N( B$ \2 Q5 p, g: E
J(p,q)=X1;" l- b4 Y+ V; V$ v/ W7 C x a5 ?
J(p,N)=DP;* Q! A0 z& k' n+ P# X5 k) i$ C9 Y
m=p+1;0 |2 f1 T- V% h, ` e' x. G& r- _
J(m,q)=X3;# U. e( O: E2 e
J(m,N)=DQ;1 Q6 A. s1 k5 J7 ?+ U% \4 C! u
q=q+1;
* k* \6 x0 j& o J(p,q)=X2;
. z0 h: x. I8 \- q% Z; M J(m,q)=X4; : y9 K4 ?3 T7 q1 c+ y6 n
%非平衡节点时对角线元素
$ B V& r" J2 O! i' k% a3 Y: q elseif k~=ph & k==i
+ ?$ y4 I0 E/ M$ O1 p- E. x+ ] X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);
) C& q9 Z1 @- H9 B) M9 y } X2=-C(i)-G(i,i)*e(i)-B(i,i)*f(i); : x% s7 ]1 J' f* S b0 W
X3=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);# {# F/ S2 W+ {1 V; x
X4=D(i)+B(i,i)*e(i)-G(i,i)*f(i);. P. j5 L: V( G
p=2*i-1;
* _4 x+ t4 z' \2 _5 z3 ?3 v q=2*k-1;+ ]% s3 X0 I3 U/ d6 ~( L* y
J(p,q)=X1;
" ]1 Z$ w. m' X4 I6 g J(p,N)=DP;
+ c B5 h1 R" Y2 r. t m=p+1;
3 X4 i# I* \* r( w. q J(m,q)=X3;2 U$ e. h ?; k# t6 K! Y1 z: U
J(m,N)=DQ;
! b' |9 c' ? J5 L. F0 w q=q+1;
6 r5 D. q3 Q# @0 Q# Z: o# N& a J(p,q)=X2;
; r, b8 a1 f9 k4 X8 Q5 A0 F% ~9 W# E J(m,q)=X4;2 w; J- Z2 j2 G8 ^9 F
end
8 ~+ C# S6 U2 y b end
: |; U. L# j8 l- J0 M2 m else& x& `/ N: K0 h6 E- ]. m
DP=P(i)-P1;; Q8 t4 Y% I5 M
DV=V(i)^2-V2;
% Q, Z5 x: x: E$ K9 S for s=1:n8 k- \* N1 W' l3 @/ e+ V# \
if s~=ph & s~=i$ J$ I& b9 V0 q( r. R9 r5 K
X1=-G(i,s)*f(i)+B(i,s)*e(i);5 k, |: o& X) E; ?; q2 y8 U
X2=-G(i,s)*e(i)-B(i,s)*f(i); 1 c% F$ v4 C/ t/ ^. c# w$ L
X5=0;
8 Q1 |4 J8 `. [6 J# y% D- H X6=0;$ j Z- \4 G0 y/ ^. d1 s
p=2*i-1;# M J' V6 o) P( F1 }! O7 r
q=2*s-1;
& ^: w* ]( z) m/ O. [/ C J(p,q)=X1;" @: d, {' e; R2 w2 g
J(p,N)=DP;
# V0 {( g8 _1 u7 P* _& s m=p+1;& q# o/ k1 T' `+ k/ E
J(m,q)=X5;
, W+ {) A- b6 l' N" \ J(m,N)=DV;+ C2 r4 M5 k6 Q4 H0 ?
q=q+1;
) k3 s% k m- I/ ]2 q. f; U) X9 K# P J(p,q)=X2;- r2 r2 ^& f q5 X
J(m,q)=X6;
' N$ g1 U4 I+ c9 p% F. N% u1 m1 c elseif s~=ph & s==i, I1 H' p2 d9 C( e' g( e/ m
X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i); 1 Z& j& P' Q& E5 U
X2=-C(i)-G(i,s)*e(i)-B(i,s)*f(i);
# l5 o) o0 I) n9 V R% t X5=-2*f(i);: e1 ^; T2 Y; M# J" l4 W
X6=-2*e(i);
- i5 k1 ?: Q0 P* s" N+ k p=2*i-1;" Y) |# D/ _% r' U" l8 e
q=2*s-1;
% T3 a2 W- ^- q4 ~5 X; t; `7 h% ^ J(p,q)=X1;" S* i' e( V: l, a9 x* V$ k
J(p,N)=DP;
2 w. A6 T0 H- D) \' V m=p+1;* U/ t- |" L4 A" j( M' N2 G% W& X- [
J(m,q)=X5;
2 _5 u2 B8 C" o p7 W J(m,N)=DV;1 u. `8 z$ `% p7 j( T! e3 `: K
q=q+1;) p/ e# z# `, ~- i
J(p,q)=X2;
; [& W: j8 T8 c+ d2 V+ g J(m,q)=X6;7 z& T0 v% K t0 X8 s% K" i q
end8 O- v% E' B$ e8 R
end
6 e, B% A& t3 {9 E) h end8 s: q* X2 q& |+ T& y4 z. z1 J( d
end' C5 |3 S6 Z) a' y* \8 Z
end, @1 g% R& `/ ]% J" Q7 g/ e* `/ n
disp('系统雅克比矩阵为:J=');
$ K6 w, C* p: i+ j$ T disp(J);5 x/ C! ]* |8 X2 `
%对于高压电力系统,最大元素出现在对角线位置,简单计算如下
) Q/ I0 ^& o* H& u2 H' i' h DJ=J(:,[1:NO-2]);- d& V# o7 V% w" q! ?0 |9 Q
DP=J([1:NO-2],N);
; J( \: o, S' K DU=DJ\DP;
, d! ~- Y3 ]: A, E- f1 i! t( Q9 X disp('************************************');8 ~5 [+ M9 C0 k# q0 |( [1 c
disp(' ')
- g- a) t0 H Z disp('第几次的修正值DU?');+ S5 G5 } ~! N
disp(Ci);- B( R) U, E2 h+ ]2 u; J1 @& Z
disp('***********************************');" x& H5 U; H4 K0 ^% h7 O
disp(DU);
6 s- x9 u% g5 Z: V* @ J" |3 E/ { for i=1:NO-24 j3 w2 z6 A# C
eps=abs(DP(i));
2 O4 v' {% H( x) \; V if eps>=jd;/ l9 x) S$ j; U5 {' L- X$ ~/ d: F
a=a+1;; ^, J- ?3 a' k) d
end
, S2 z: K N7 C; l end" d; B! Z; T) [/ o1 m( \, O
Ci=Ci+1;
) H, ?8 Y7 P9 h: F/ A for i=1:n-17 Q9 t% g8 _5 E
e(i)=e(i)-DU(2*i);8 v1 s; L5 o$ `& ]0 f
f(i)=f(i)-DU(2*i-1);8 f% O. `$ k! k$ g$ C% @
end. [0 _8 K( x3 n2 I, c, G6 ~$ B% O
E=e+j*f;! A8 i+ a, z0 S/ \* ~% h
disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
) q3 ]1 H- `" d" A2 R$ o$ S disp(' ');
" y, a% N" f, b6 z; V. c X disp('第几次迭代后的近似计算值');5 y/ s P: Z7 t4 M( _+ _/ V
disp(Ci);' ?% O( k4 ?5 }
disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');- }0 d" C4 [# ?" t! h
for i1=1:n* I: m7 C( {7 v0 \
V(i1)=sqrt(e(i1)^2+f(i1)^2);" Q% a. \6 a. S& c/ O. b3 o3 [
ANGLE(i1)=atan(f(i1)./e(i1))*(180./pi);0 r7 }' |6 {( {, D9 L9 ~
end
; D. f2 _+ [* X6 R6 ?) i+ H0 m%下列输出结果均按节点号从小到大排列. v7 s {/ e2 ?/ ]& E: O; s' E; @' w
disp('各个节点的电压实际值为:E=');
' T) ?; ~; f8 ~" F disp(E);
' ?* j3 ]; g; v, ^: p( T disp('各个节点电压幅值为:V=');
$ }: l- w1 z! I) j4 m disp(V);+ }/ t$ z/ m- H, j" P7 e
disp('各个节点的电压相交为:ANGLE=');
s/ N& V6 @" o ]- R disp(ANGLE);- G' e' ^5 i: v) E
disp('各个节点的功率误差变化');
6 K. z! |" q2 P# } disp(J([1:8],9)');; e+ T5 l6 k( W+ q" s
MDU(Ci)=max(abs(J([1:8],9)'));
1 d* \% M) {( [; `2 X% K# J7 y for p=1:n
- Z" _8 \$ T* f. J8 q) m Sm(p)=0;
+ {& _' r$ ~ t, k for q=1:n
! j8 {" _' Y$ D. g* c Sm(p)=Sm(p)+conj(Y(p,q))*conj(E(q));
6 R# ~! B! y* | B, H. h0 D( c end W$ ?/ V" b' \2 n- {& d
S(i)=E(p)*Sm(p);8 ?0 i5 G: ~9 F# ]2 B
end8 y, H6 K, N1 i- {
end+ f; { O; x' P8 `" c* R' |
disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');2 O q; j$ g/ N5 w
disp(' ');9 r* o H6 F8 v! M
disp('计算的最终功率近似值如下各项值');. E7 S6 R# m2 N0 ]2 x
disp(' ');1 h0 p1 Z0 o! @7 ~" c6 b
disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');
8 G. ~& S2 j# [/ D. u- L& Zdisp('各个节点功率为:S=');
: Q: m* V6 o2 s+ F" X2 g6 e9 M* Udisp(S);
1 f+ w3 b. j3 Xdisp('各条支路的首端功率Si为:');5 n7 S& l2 I! D7 \: @$ P2 Z; ]
for i=1:nl
- ]$ u: V# R% n, h( C1 f7 I p=Br(i,1);q=Br(i,2);7 G; L' ?1 e& k2 K! a
A(i)=E(p)*[conj(E(p))-conj(E(q))]*conj(1./(Br(i,3)));
" D; F( w5 x3 [# @" n SBS(i)=[abs(E(p))]^2*conj(Br(i,4))+A(i);
; _+ Q" w- f) K/ xend
# D/ G5 f! r9 H/ p `" fdisp(SBS);
9 m0 P0 o# y: N5 |) w S0 ?disp('各条支路的末端功率Sj为:');
0 ^) h" Q% m4 B/ Q* Zfor i=1:nl
4 e/ o0 g; t# S ]: E3 R p=Br(i,1);q=Br(i,2);
& n. |# Q5 `# O2 f& g- C A2=E(q)*[conj(E(q))-conj(E(p))]*conj(1./(Br(i,3)));
+ R0 h: Q! B f8 z SBE(i)=[abs(E(q))]^2*conj(Br(i,4))+A2;9 a- o/ T3 S `8 U& K6 M
end
9 t9 _9 R8 H; h& }disp(SBE);! @ c2 I+ w5 K' _7 L0 r: d: b" n# y
disp('各条支路的功率损耗为:');2 j- T9 f. n! i6 `9 N" ]* j4 W/ _
for i=1:nl* \6 z0 x7 d7 v {7 h2 l+ F0 B& j
p=Br(i,1);q=Br(i,2);" p9 d/ |2 _ m' s: S+ B* D5 L& ?4 ]
SBL(i)=SBS(i)+SBE(i);
7 ^1 l6 C( Y0 R+ I( U0 Lend4 j4 d+ s+ H0 ~' G5 }
disp(SBL);0 u+ Y& q O3 D# v. r$ e8 {/ M
%绘制功率误差曲线,先用最小二乘法进行曲线拟合
& K3 n3 ?/ A- z6 J1 @/ {# u l4 kfor i=1:Ci9 u" a( W3 N9 {& O' W4 y, w! T, W
CSH(i)=i;
2 J5 i7 e0 a# y$ |, Qend ]- d% C3 g4 S7 `, c
P=polyfit(CSH,MDU,3);
) D) f1 X5 \9 K8 [1 Z$ Splot(CSH,MDU,'-O'); |
|