|
|
发表于 2010-7-28 12:24:23
|
显示全部楼层
%本程序采用牛顿-拉夫讯法对一个五节点电力系统进行潮流计算
! H0 L2 h9 i9 b( M% n=input('请输入系统节点数目:n=');
2 d$ Y$ j5 e1 D$ j$ @8 s% nl=input('请输入系统支路数目:nl=');
2 @/ t/ _* p0 Y% ph=input('请输入平衡节点号:ph=');
9 V- C/ }' {* y% jd=input('请输入误差精度:jd=');
$ ?5 p1 p5 n- Y, h! O" C9 R% B=input('请输入由支路参数形成的矩阵:B=');* n$ e) v$ M: }4 ^) X( m" v
% A=input('请输入各节点参数形成的矩阵:A=');7 j* o6 z" f6 o3 |' g# b
clear all* P5 ?8 v( O/ z( |
n=5;" O+ v- h& j3 g( k! G1 j, G
nl=5;: F& t' _4 l2 A1 c
ph=5;: i9 E# {% s, l6 o( o
jd=1E-6;
: d! A# x0 O8 i: f4 d- R4 \%支路参数矩阵
' W7 ^; Q# Z6 B% J! {Br=[1 2 0.04+0.25*j 0.25j 1;
: S1 e7 l" D. L' y/ p3 u- y 1 3 0.1+0.35*j 0 1;
& O" H' d. }) i3 {6 e' ^ 2 3 0.08+0.30*j 0.25*j 1;+ P5 |1 I: W6 X( k+ k* g, @
2 4 0.015*j 0 1.05;
; V- S! Y9 v1 L1 {8 @- n$ K 3 5 0.03*j 0 1.05];0 r- { i- h& j1 C) [1 ?
%节点参数矩阵:2-PQ节点,3-PV节点,4-平衡节点
- Y* O# o7 T5 j% PA=[-1.6-0.8*j 1 0 2;
' }, O9 f, a& o: a% G: V2 E9 x( | -2-1*j 1 0 2;
2 j4 d Y+ c8 k( G2 L1 K5 x -3.7-1.3*j 1 0 2;
/ e$ C. | \1 E7 x( G6 ~ 5 1.05 1.05 3;
9 R, _8 n' z3 S' R# ]: I 0 1.05 0 4];- ?+ i# h9 G% ]( Q. L2 t
; E- n6 g: e* P* k6 s%雅克比矩阵形成
7 z( w7 J' f% R& TY=zeros(n);
1 D; J' M* }( H( W0 _- ke=zeros(1,n);* S \3 ?: h8 _2 m1 W; v8 N
f=zeros(1,n);
- @& Y: W, J/ r/ m5 b* gV=zeros(1,n);
- X: ]; \/ m. t/ b9 R9 h+ qfor i=1:nl2 J- d# a1 p$ Q; Y" A1 \
p=Br(i,1);+ x2 e h/ p0 H5 D) g2 l$ k. i
q=Br(i,2);
2 h, K) ^% j! ~, q+ x) f Y(p,q)=Y(p,q)-1./(Br(i,3)*Br(i,5));
. m; G0 a/ T. a2 c' M- a' | Y(q,p)=Y(p,q);
9 z; y" Y @& s0 Y Y(q,q)=Y(q,q)+1./(Br(i,3))+Br(i,4);
; [/ G/ H/ C: a7 r6 J Y(p,p)=Y(p,p)+1./(Br(i,3)*Br(i,5)^2)+Br(i,4);
* q/ j# G8 N6 |; N @; P# w& {$ M1 Jend 4 M# E& v4 F0 K# G+ k+ |
disp('节点导纳矩阵为:Y=');
4 d g# ~ ~( l8 t$ ~) Bdisp(Y);
" _. P. R3 Y2 Y$ bG=real(Y);3 v+ \/ ~0 m. i
B=imag(Y);
1 c+ r. |' U- q, Z9 Efor i=1:n
& R: K- X9 i8 h( w e(i)=real(A(i,2));
5 }0 c. ? q! d' C8 E& V/ Z) K f(i)=imag(A(i,2));
4 x2 `& e4 u" w& S V(i)=A(i,3);
! Q/ j p5 ^, r& v, |% w& R. q: \end/ [- w- a9 X, |! |# L
for i=1:n
. r* D) S/ t' A1 i' X S(i)=A(i);+ Y8 z$ U. X4 y% B$ k* [4 Y
end
. m6 e5 W8 h0 S2 J0 B& z0 u" vP=real(S);
' ], z, ^ \( @$ eQ=imag(S);
5 F, c J/ O ~%雅克比矩阵求取
8 Q% c8 Q# H& A# s3 x `* H& X& nCi=0;- p6 d' O1 J, W. W4 b4 c
a=1;/ C1 Y6 M8 W3 `- r; b8 C
NO=2*n;
& |4 q% B# `: F4 T* rN=NO-1;
4 }7 s3 |& k; pwhile a~=0
2 \. G$ p4 }) {; s a=0;
5 y7 Y6 u' r5 [) [! Y g8 ? for i=1:n
$ p9 Q/ j* Q8 T; @, _; C9 d. R if i~=ph
( O3 s5 h0 m; F5 H7 g1 O; |+ w: r C(i)=0;
3 b% f8 C' ^. S- M% T0 ?" g& Y D(i)=0;7 j L6 y! [. p
for p=1:n
$ H0 { {. E. b0 Q4 i C(i)=C(i)+G(i,p)*e(p)-B(i,p)*f(p);1 @/ o* l9 {, b! H
D(i)=D(i)+G(i,p)*f(p)+B(i,p)*e(p);' J6 t' _& m d# J
end3 J0 o) h8 T! O7 L* I- R9 S
P1=e(i)*C(i)+f(i)*D(i);
3 S( X. t$ y/ T* E' I Q1=f(i)*C(i)-e(i)*D(i);
* |, \+ v( G3 a+ C6 d" A5 t V2=e(i)^2+f(i)^2;
6 i/ w/ I" r. L( b, X5 s if A(i,4)~=3! y6 e/ ]$ X& Z+ a: J% E
DP=P(i)-P1;) p# [2 V! v5 ]+ B8 f0 t! X6 h& [
DQ=Q(i)-Q1;6 S1 r% B% H8 U+ U, w6 J
for k=1:n! l& ^" s. p3 B9 E
%非平衡节点时,非对角线元素; L2 B2 ^ e$ z' E
if k~=ph & k~=i 1 t) q( o, S! T+ V
X1=-G(i,k)*f(i)+B(i,k)*e(i);
; X, r/ T2 e3 a1 ~* l) m$ Z- n X2=-G(i,k)*e(i)-B(i,k)*f(i);) t& K6 n$ e0 x g& G
X3=-X2;
% e0 v, X" y4 @. F X4=X1;, _# ~3 u% p! A( B
p=2*i-1;
\' a8 ~+ Z) j) d- e( h* Y q=2*k-1;* \( M" o4 [5 \. x6 i8 `7 Z
J(p,q)=X1; ^8 Y! [0 w1 J
J(p,N)=DP;
. V" J% B3 Y4 I; T) Z+ E$ |7 c m=p+1;5 P; u' w: `6 F0 ]* l$ W5 e2 W! y
J(m,q)=X3;* }* I0 l% O% z& H0 g
J(m,N)=DQ;6 n3 g+ T2 }5 r1 k- X: E9 h* O" Q* x
q=q+1;
; O! t, [$ [( d: k" @ J(p,q)=X2;9 B8 ~( \- `2 a% o8 y6 ?
J(m,q)=X4;
: [ J3 l% q1 C( q%非平衡节点时对角线元素
+ C3 N0 Y; |$ v+ Y elseif k~=ph & k==i
4 u% r5 u3 K5 h8 r! U/ ~6 v X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);# J* g- X% \1 B$ Q/ d
X2=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);
, j) I4 f; [4 V! o X3=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);
" k$ E6 ~+ m9 E! ^5 [ X4=D(i)+B(i,i)*e(i)-G(i,i)*f(i);
& l. X: A- I& {0 {7 E p=2*i-1;$ t) i) |) M- h( L, U
q=2*k-1;
% E4 x! w& z7 Z& t( g J(p,q)=X1;
: }0 |0 |3 X, u7 P; I1 c$ \ J(p,N)=DP;# r' w/ f0 l I& y' O t6 H
m=p+1;0 L* A$ ]/ U" B' r6 N
J(m,q)=X3;$ {' o8 n% A/ z7 |% u
J(m,N)=DQ; l/ U- i' ]- o5 G: j. ^
q=q+1;; X, n8 Z J, H5 P2 g6 D4 i- h3 ]
J(p,q)=X2; z ]9 U- V- h! k
J(m,q)=X4;9 ` y f7 ?' s6 ]% j% ~
end! ^! j* d S) w2 f9 G; f+ _
end, W' ?& s. ]$ H) `0 c1 Q
else, {- m1 n4 ? H# {7 X$ Y
DP=P(i)-P1;
9 }) H/ c2 w0 t% ?. R% u DV=V(i)^2-V2;# V+ I' |: T) G1 ^. r+ l
for s=1:n
$ G+ {/ Z+ P0 b) z: V6 b! f1 q if s~=ph & s~=i( ^$ u; m" [. y5 P: F4 ^" J8 u
X1=-G(i,s)*f(i)+B(i,s)*e(i);
2 _% f- o( v( i9 C2 V& d X2=-G(i,s)*e(i)-B(i,s)*f(i);
4 ~0 Z* q, H0 V6 ?6 b1 Q. F" D X5=0;
5 F2 e" ?4 C, U3 B+ ]5 U2 } X6=0;! D* R% ?( J$ c
p=2*i-1;
+ I& q1 I$ _. i6 `$ ~+ A q=2*s-1;
# Z8 t% Q6 W* a$ e7 S) z$ Q J(p,q)=X1;
2 u( O8 {- L) i | l% Z3 R' |) _ J(p,N)=DP;4 R- d; Q( n6 @' { O+ h
m=p+1;
) @0 |- F' |% o9 Z9 e) ]* {; D5 A# G J(m,q)=X5; `/ \# E) ?# f& A5 i! j: p: [5 l2 c
J(m,N)=DV;
! p _, O# @) {! V) ]! `' C q=q+1;
7 G+ w% }% Y! E6 y/ Y J(p,q)=X2;
7 [9 }; V2 @' M+ [6 k( W J(m,q)=X6;- L8 d0 _9 h6 v0 W; a1 x
elseif s~=ph & s==i
, {, M0 C! ^! X. r5 F X1=-D(i)+B(i,i)*e(i)-G(i,i)*f(i); 0 @) K- b4 v6 ~# l" ~
X2=-C(i)-G(i,s)*e(i)-B(i,s)*f(i); 5 x' m; l- [# s: Y) }0 a
X5=-2*f(i);7 v W6 o; s- T: g1 s( u! I3 g
X6=-2*e(i); / L1 d A" l- P% C
p=2*i-1;
+ _5 Z, |3 u* p5 U* W q=2*s-1;
& w# e/ m j3 ^" e4 K3 I J(p,q)=X1;
+ v8 e* M# y# U i J(p,N)=DP;
: ]7 |0 C' t0 d6 @# j m=p+1;
. n$ K9 I9 S, `8 s4 T9 w3 h J(m,q)=X5;$ P# |% Y# S! i; Z5 }
J(m,N)=DV;
4 r0 H- `$ U# f, d8 S q=q+1;
$ h5 n7 ~, Y" O& m0 H/ K J(p,q)=X2;
; w& @" S$ T7 a( ~% B' L$ c J(m,q)=X6;9 q' Y9 T8 u" S- Q8 f
end
/ v/ p0 O9 ]& |& S( t9 o; v) \ end
4 m1 d7 H9 |% J4 Y end+ W* L/ E9 z2 q7 [
end- H( s: u, n+ l" A7 I7 T
end9 Y3 j% k, |3 V
disp('系统雅克比矩阵为:J=');
% ~- X$ s5 W5 J% P% _4 s disp(J);
; ^! n- z# a. C( u%对于高压电力系统,最大元素出现在对角线位置,简单计算如下
5 u, t* t' A0 v+ P: q! S DJ=J(:,[1:NO-2]);9 F( W6 o) y1 x$ i* {; \2 t# y
DP=J([1:NO-2],N);
6 E/ k4 m8 z8 @, B( h: C& N5 l DU=DJ\DP;7 R& q2 A0 M; k' A
disp('************************************');
1 L0 i/ Y; w: T$ i& [4 \. ]/ L: n& V- s disp(' ')0 ~6 T- H2 s9 n- ?/ x
disp('第几次的修正值DU?');
0 s, t) ?1 x" D% x' H0 v8 ` disp(Ci);
) x4 m/ ]& N8 j. ]* x, c2 a# P disp('***********************************');
5 b& o6 d7 X" M& D6 ` disp(DU);$ ^9 n2 T: ?8 M/ j- L9 q, `
for i=1:NO-2
; r3 t3 l/ u0 j2 p eps=abs(DP(i));; Q w; L: p+ J3 h/ B! J+ |6 Q
if eps>=jd;
8 `8 G% g1 _3 L5 n0 L# g5 ] a=a+1;
1 z; _# S6 h! v8 D* _8 H end
' ?- I) r1 N1 J' ~* E end
6 G+ R0 ^' j' w) g& G Ci=Ci+1;, g. Z+ G1 ^ T/ Q; C# N: m. {
for i=1:n-16 v% n3 R4 |7 l( V0 b( ?
e(i)=e(i)-DU(2*i);2 ~/ O* \2 g( u& t* \9 ?9 k0 V
f(i)=f(i)-DU(2*i-1);$ e: N' N w; N) ^( t+ j
end
; a% Z& c% h1 d6 l5 d7 z2 E6 X" G E=e+j*f;
, F4 X' \, q W/ Z' O3 ^5 X disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
1 H7 |" L' Z" e" O. A3 ` disp(' ');" u) e A( E& Q' v$ C! {# }* \4 L
disp('第几次迭代后的近似计算值');8 _; J" [1 C! j2 Y" E
disp(Ci);1 b1 C: }, P& a6 t$ i* |
disp('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
2 y4 E$ y1 l- }9 j" N, q for i1=1:n
( R( G5 r! M- W' b1 y: \. y8 R( j V(i1)=sqrt(e(i1)^2+f(i1)^2);5 T' R7 s8 z' L+ u9 A2 \! d7 W( L$ [
ANGLE(i1)=atan(f(i1)./e(i1))*(180./pi);. l/ m8 b6 |- K5 w2 A+ G1 E
end" G5 i* W+ c; ~& k% B" w0 `5 W# L
%下列输出结果均按节点号从小到大排列% T) V7 n+ ~' U/ Z4 g- g
disp('各个节点的电压实际值为:E=');. ^6 w) ?: |' S$ H
disp(E);% r* i! z, @/ z1 C# i; W: h
disp('各个节点电压幅值为:V=');! @) Y% L3 U3 w s5 h
disp(V);8 w$ P3 z" L! {" I3 f& Z
disp('各个节点的电压相交为:ANGLE=');# g* @7 ? f# a) z. |- Z4 ~ ?9 ]7 v
disp(ANGLE);
# I2 Z# |) t3 g1 s w disp('各个节点的功率误差变化');
1 F, k5 e/ P* ?& D: U$ d disp(J([1:8],9)');9 i. @ _; u9 S9 ~$ v
MDU(Ci)=max(abs(J([1:8],9)'));% ^1 {6 ?' o% D# c& H z/ n6 Y
for p=1:n
- Y1 V0 z- m9 Y' L5 o Sm(p)=0;+ a1 G. v1 d4 c+ P& a
for q=1:n
" z1 y9 Q$ h0 @! Z Sm(p)=Sm(p)+conj(Y(p,q))*conj(E(q));
( |. {6 S* y r: S4 g' d end
6 q5 c6 b7 y9 Y1 m U' a f" ~& y S(i)=E(p)*Sm(p);
2 c n! r: T$ t A& i3 S" o end. l: _4 [7 a% [! L6 r# K* ~2 q
end
8 _- @# {2 \ l( T8 ^( d$ Kdisp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');" g' s+ A6 x6 C! Q6 Z
disp(' ');
/ [! v! \* {6 \. e, b7 N" s; `. \/ |disp('计算的最终功率近似值如下各项值');
4 m$ T9 a( |5 V, k% Cdisp(' ');# }- {. ]" ?6 n- K
disp('@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @');4 O7 x2 p% G. ~; h, x( O7 _
disp('各个节点功率为:S=');: W) S2 ~! ~/ g+ ?' O1 D" h' B
disp(S);, k' `! t- \$ i+ h
disp('各条支路的首端功率Si为:');6 y8 V# H. Y0 d& [
for i=1:nl
( F. R: g6 {1 b/ [9 u4 [ p=Br(i,1);q=Br(i,2);6 S2 s2 R @ d6 S- g3 u
A(i)=E(p)*[conj(E(p))-conj(E(q))]*conj(1./(Br(i,3)));8 I- t+ K* w4 f
SBS(i)=[abs(E(p))]^2*conj(Br(i,4))+A(i); % W9 S+ h) ]* Z, d# D' M
end
+ |: e) V' @; l$ [disp(SBS);
6 O, n4 I0 q7 ^disp('各条支路的末端功率Sj为:');
- z8 S2 I1 n! ifor i=1:nl% L. B+ ~" a7 e& ~) L( E
p=Br(i,1);q=Br(i,2);
/ N% c4 ?# h# n% F A2=E(q)*[conj(E(q))-conj(E(p))]*conj(1./(Br(i,3)));$ m) x* q! b* Q% C' V9 p, B6 w4 d
SBE(i)=[abs(E(q))]^2*conj(Br(i,4))+A2;
/ h, x X& o7 }# fend; B9 O" a; c8 m) O( `0 a4 O
disp(SBE);8 E. M3 B# {# E& u% r: V
disp('各条支路的功率损耗为:');
* }! X+ B! ]& d+ Sfor i=1:nl; `; Y0 Z, x9 j
p=Br(i,1);q=Br(i,2);' U, g7 r: b5 H0 m8 G, ^) s2 y
SBL(i)=SBS(i)+SBE(i);
% Q/ H& i6 M2 j4 j" Uend
/ Y0 W' O" p1 ^+ r2 M6 cdisp(SBL);
( H, g% r+ G" r! S$ Z/ J%绘制功率误差曲线,先用最小二乘法进行曲线拟合
5 ?9 O5 H; C' }/ n* C0 W, B# O% Rfor i=1:Ci
1 p2 h3 d" f. S2 ]: s8 x CSH(i)=i;
" E: j$ d X& B! R& M7 ~( ^0 rend5 o7 A' J% Y- |4 V1 {4 `+ [/ Q
P=polyfit(CSH,MDU,3);
9 n% X2 E/ @2 k; j8 Zplot(CSH,MDU,'-O'); |
|