|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
%本程序的功能是用牛顿——拉夫逊法进行潮流计算
: K: F% l" p& }& n, j% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳
1 ?# G/ [, B% E. f. Z: g z# |/ d% 5、支路的变比;6、支路首端处于K侧为1,1侧为0( t' v. c0 i5 m( b
% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值
, L! X; J4 F0 E3 A% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量$ H" G8 b, i; g: o$ \
% 6、节点分类标号
1 r' m9 V3 A( Bclear;( e i6 ^- d+ B6 B/ C
n=24;%input('请输入节点数:n='); E) L0 h, |6 x" r$ z
nl=38;%input('请输入支路数:nl=');* C2 I* l- @& W0 z
isb=1;%input('请输入平衡母线节点号:isb=');
* G) [! y3 j# w' T, Y; z' Npr=0.00001;%input('请输入误差精度:pr=');
1 V$ ?; ~8 A, z2 |0 T* U! oB1=[1 2 0.0026+0.0139i 0.4611i 1 0;
/ U0 }% \# g- d3 M9 C% f 1 3 0.0546+0.2212i 0.0572i 1 0;, O9 i) U; N/ k$ C5 U
1 5 0.0218+0.0845i 0.0229i 1 0;
3 y2 S: x' y- l# \- ?: l 2 4 0.0328+0.1267i 0.0343i 1 0;
" K: ^2 k6 {* b 2 6 0.0497+0.192i 0.052i 1 0;
5 {- g( \2 a4 U4 w7 @; T 3 9 0.0308+0.119i 0.0322i 1 0;
- K) Q3 S8 T( q" R2 T/ [% b- @ 3 24 0.0023+0.0839i 0 1 0;
/ m# A. V% W* S3 T; t 4 9 0.0268+0.1037i 0.0281i 1 0;
, j; \4 u# _2 s9 A7 @5 a 5 10 0.0228+0.0883i 0.0239i 1 0;
8 x- O( W" h7 X- G+ v 6 10 0.0139+0.0605i 2.459i 1 0; R& ]' e+ c U
7 8 0.0159+0.0614i 0.0166i 1 0;
, v$ u- U) D2 }/ Z 8 9 0.0427+0.1651i 0.0447i 1 0;4 ^- e2 S% C# M
8 10 0.0427+0.1651i 0.0447i 1 0;5 m6 j& k2 |2 }3 p' Q- T+ W
9 11 0.0023+0.0839i 0 1 0;9 ?# A* Y5 W/ @$ x4 Q& R; u3 L# W1 ?
9 12 0.0023+0.0839i 0 1 0;. X0 e/ c+ O& t* t
10 11 0.0023+0.0839i 0 1 0;+ ]/ [& X7 D6 P; x. K
10 12 0.0023+0.0839i 0 1 0;+ d6 y/ c/ V6 R7 j
11 13 0.0061+0.0476i 0.0999i 1 0;
0 h+ G+ i$ x. z- S X+ ? t( ? 11 14 0.0054+0.0418i 0.0879i 1 0;0 P" r* B) J& f' q; f
12 13 0.0061+0.0476i 0.0999i 1 0;9 Q- J% E+ e; t& }6 v6 L
12 23 0.0124+0.0966i 0.203i 1 0;7 A1 \6 z- [8 J$ \7 ]9 ]4 {: g
13 23 0.0111+0.0865i 0.1818i 1 0;& V0 ]+ i0 w/ q! [' \
14 16 0.005+0.0389i 0.0818i 1 0;/ `6 a7 W# O! g% k! s2 ~
15 16 0.0022+0.0173i 0.0364i 1 0;
. {* R2 r4 E0 Q3 F. V b4 x 15 21 0.0063+0.049i 0.103i 1 0;
+ D+ D" z" ?" x5 T 15 21 0.0063+0.049i 0.103i 1 0;2 ?8 P% G$ n$ L% d1 o6 I) |4 M5 i
15 24 0.0067+0.0519i 0.1091i 1 0;
( U) _) f9 r8 [) G+ I! G 16 17 0.0033+0.0259i 0.0545i 1 0;
) T4 }* c0 v$ n* A 16 19 0.003+0.0231i 0.0485i 1 0;
6 b% S- r3 O6 {0 d1 L 17 18 0.0018+0.0144i 0.0303i 1 0;
& H7 X( i. _( {6 M3 k! Z$ ^ 17 22 0.0135+0.1053i 0.2212i 1 0;# T$ X' @5 W7 O9 J G& B/ _/ g; q
18 21 0.0033+0.0259i 0.0545i 1 0;
3 ]8 U+ a1 B* ]' }) K 18 21 0.0033+0.0259i 0.0545i 1 0;; H [% K0 j6 H0 m. F+ V
19 20 0.0051+0.0396i 0.0833i 1 0;2 }! g% u% g0 R9 B$ _
19 20 0.0051+0.0396i 0.0833i 1 0;
% d, |4 T+ e( b! ]- ~ 20 23 0.0028+0.0216i 0.0455i 1 0;* Q4 \8 D% }; a, y( G
20 23 0.0028+0.0216i 0.0455i 1 0;% z1 C* e$ ^6 U, T
21 22 0.0087+0.0678i 0.1424i 1 0];%input('请输入由支路参数形成的矩阵: B1=');
0 v% d; N! A$ _B2=[0.1788 1.0157 1 0 0 2;5 Z" F- f+ a' V* D" b
0 0.9127 1 0 0 2;
( D5 N5 {0 l9 V7 t0 L" E 0 1.6935 1 0 0 2;$ C: ~; ~ M& u- J6 N. N( \
0 0.6958 1 0 0 2;. v$ {. c& `# b* C
0 0.6669 1 0 0 2;
( U: ~, i" o+ C0 F. ^ 0 1.2796 1 0 0 2;
7 [9 A1 X1 C# F) s9 _ 0 1.1748 1.05 1.05 0 1;2 t6 {4 z3 ]( n8 M% G5 z
0 1.6085 1 0 0 2;3 _! B( k/ A( Z* B& K6 ]8 K
0 1.6465 1 0 0 2;
9 L9 m# b# a( I% B4 L& y 0 1.8345 1 0 0 2;9 B. b8 D+ s3 d1 F g
0 0 1 0 0 2;1 i9 X, _$ X2 m
0 0 1 0 0 2;: x. S/ ~ b9 Q7 W) L) H& s9 G
6.9529 2.4923 1 0 0 2;$ N6 p1 d, v8 s3 i3 }/ W
0 1.8236 1 0 0 2;
, y! r8 L. a) D* L8 [ 1.8235 2.9803 1 0 0 2;, X9 o* u0 Q& H v" K- E
1.8235 0.9398 1 0 0 2;6 V; Z# C: j) h/ C) Y; ~4 o
0 0 1 0 0 2;
, B1 p2 @; l! S9 j9 `. y& w4 { 4.7059 3.1322 1 0 0 2;
y2 I% |& ~& u; r4 B3 ` 0 1.7025 1 0 0 2;. H# f: Q( T* E& }3 Q
0 1.2037 1 0 0 2;
: p d( w4 e7 C/ w2 e9 j 4.7059 0 1 0 0 2;& L: Y: I) V ~$ Y% ^+ b
0 0 1 0 0 2;
3 o0 `- y8 I0 L8 B* x 7.7647 0 1 0 0 2;
8 }9 h, E6 w: [: j. e1 M, t 0 0 1 0 0 2];%input('请输入各节点参数形成的矩阵: B2=');6 Y! M6 _1 g& @' X
Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);9 {0 k9 d6 B) C" M
%-------修改部分------------2 T/ `: X. m. j
ym=0;
: y% k' @1 X+ e4 SSB=100;UB=220;1 ]8 a& k2 j- @! J( E1 n8 M
%ym=input('您输入的参数是标么值?(若不是则输入一个不为零的数值)');
% h. f. d% k. Y* [! rif ym~=0
- N3 @) P# F' _- n5 }$ G %SB=input('请输入功率基准值:SB=');% [4 O6 l# c6 b/ \* `# W4 j
%UB=input('请输入电压基准值:UB=');9 Q" Z( q% I* }! O: R9 T T
YB=SB./UB./UB;
. Z! f$ u4 {! R% u7 K+ e BB1=B1;
. u) ], h6 c" C, h7 \; k% n BB2=B2;
5 f" n9 U( z( V, E for i=1:nl
% ^; _6 \5 _! t B1(i,3)=B1(i,3)*YB;0 P# Z! S! m4 C9 H, \: R! J
B1(i,4)=B1(i,4)./YB;/ p5 j6 r1 e# b& Z& f& Z$ v
end
6 E1 f; Y9 o/ H4 d7 L. b. a. x+ }5 z disp('B1矩阵B1=');
% H9 [3 y9 ?5 I% {/ S disp(B1)" _9 G* R9 h, c t( e7 N
for i=1:n, W- y ^. m$ c
B2(i,1)=B2(i,1)./SB;
& E* M _* B( @' K% T$ V2 E' ` B2(i,2)=B2(i,2)./SB;" E2 l1 }5 D7 J7 p; v
B2(i,3)=B2(i,3)./UB;
/ t5 \- R# w# M B2(i,4)=B2(i,4)./UB;
" E% _$ t1 k9 r2 m B2(i,5)=B2(i,5)./SB;
/ {4 J5 \. y6 c; ~ end! L$ o# A1 h: u- r7 b/ h
disp('B2矩阵B2=');. x+ a6 w& I" i" i1 ^" _
disp(B2)
# H( l2 K* A! M ]; q: s0 b+ b5 yend
5 A+ W0 T) `& X% N, M! |0 f% % %---------------------------------------------------
7 n, a0 O8 O' K) e# Tfor i=1:nl
O/ e! G; x* [0 e- c, r8 k# R%支路数) n& R Q0 E' Y0 f# n9 z( K. O
if B1(i,6)==0- H; r+ R) d! N7 w& ~ D! @
%左节点处于低压侧
! ?4 P3 t N. F- K: _/ u' w p=B1(i,1);q=B1(i,2);- q* Z3 R8 D1 X6 K7 Y0 y! p
else
. F% V6 [1 z8 N q8 Q: R p=B1(i,2);q=B1(i,1);& k, L( |3 u: p8 G7 I/ `9 L
end
% l# U7 K7 ^& b' d+ Z+ D Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));
2 `+ h6 \' W& F+ G%非对角元
' r% A. f9 C/ x! F Y(q,p)=Y(p,q);6 f; j: K; f/ d0 \) j
Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;
8 ~4 u$ L6 V: E%对角元K侧2 }/ c7 X; y. [) ?2 h& g
Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2/ W! F* b8 Y3 d& R& G
%对角元1侧 7 {% y" C# c9 h) d! T; n
end( g0 T, F6 w% f7 X+ @0 p
%求导纳矩阵
2 R; W% I4 g9 \/ W. sdisp('导纳矩阵 Y=');
' \# P4 Z) v6 x3 R+ D8 ydisp(Y)
D2 h. X+ r/ N z%----------------------------------------------------------
6 E6 t9 ^. o3 H+ J1 n+ S" G! i) `7 n2 nG=real(Y);B=imag(Y);1 x' P$ X! e0 V7 P/ C# C
%分解出导纳阵的实部和虚部
4 Y2 ^* u: o: b/ q. G8 S5 O Bfor i=1:n% n* {4 j1 G$ A$ l! j
%给定各节点初始电压的实部和虚部
( v, `/ z, W! `3 W' X' d& ?1 q e(i)=real(B2(i,3));
7 d$ h1 G2 b f Y4 t$ o f(i)=imag(B2(i,3));+ }, o# q( L. u; a' b8 X' }
V(i)=B2(i,4);
/ q( N, X* E( S/ L4 _9 I' j% L7 N%PV节点电压给定模值
! n. U8 j9 k0 P" C) y9 \end
: q: _' S7 h* c- q) r. E, hfor i=1:n* p, h' M! b, l0 a+ I- X
%给定各节点注入功率 : Z9 [- S( W8 q% G5 J2 ]2 [
S(i)=B2(i,1)-B2(i,2); ) G; h) i: _7 @: j3 p
%i节点注入功率SG-SL " J5 l7 `* P) K. Y' \- I0 y* _
B(i,i)=B(i,i)+B2(i,5);
o* Z3 v6 j9 \+ v% @5 ]%i节点无功补偿量 3 q6 H/ J. K! w9 h! u
end
% R, l; z) @( j/ |+ m6 W9 l%===================================================================& Y3 h) P, d0 b6 @) J) [4 C
P=real(S);Q=imag(S);' g5 F' u* g5 @* B
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;
* K* |+ n; J* `3 R2 l pwhile IT2~=0
3 n! ?& U! a. l, d5 q IT2=0;a=a+1;0 ]( r% D' z0 i
for i=1:n
3 C; o L3 y( F if i~=isb
0 H u6 `3 q" L' W%非平衡节点
+ U- c6 }1 I* O! I+ ` C(i)=0;D(i)=0;
& S4 C7 K1 _( v* t for j1=1:n3 O% d4 O9 ?" f" E9 _2 e* A
C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)( T; E) g5 T+ j8 O7 }% c8 O
D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)* m3 i, D( L: o) _3 W
end
' G; k8 b6 ^4 w s P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)
* R5 N; j4 O# K7 j7 n Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)
3 j/ y0 z* q w5 z D%求P',Q' $ E5 J! j" W8 Y: H! a0 }, }
V2=e(i)^2+f(i)^2;
+ S! U: ~7 ]% j9 G" j* T%电压模平方& l4 L; `- J* m" h1 l5 z
%========= 以下针对非PV节点来求取功率差及Jacobi矩阵元素 =========/ E8 V( R- {: C$ P2 k% p. K/ {
if B2(i,6)~=3
% m( L- y- I; I. d2 y%非PV节点 # Y4 F5 v* U, x/ ?; q/ Z' @3 V/ b
DP=P(i)-P1;
7 g$ f1 [$ ]9 B7 {% d3 l%节点有功功率差
# _8 Q% x, ^) x4 \' D$ n3 `3 J DQ=Q(i)-Q1; %节点无功功率差 0 S" L: \+ O# K9 U3 V1 t
%=============== 以上为除平衡节点外其它节点的功率计算 =================
- h) }5 q2 n9 Q6 Y- f%================= 求取Jacobi矩阵 ===================4 G6 v' ^6 }8 r, m. ?' }# H
for j1=1:n
/ s7 N+ l. z9 z+ S+ v; Z if j1~=isb&j1~=i9 S* a9 Y a2 |! B1 n R0 u
%非平衡节点&非对角元
$ d6 k1 g7 k7 m0 Q8 [4 n X1=-G(i,j1)*e(i)-B(i,j1)*f(i);/ Y1 A" H {& d0 s
% dP/de=-dQ/df
8 {8 p& k/ n$ z X2=B(i,j1)*e(i)-G(i,j1)*f(i);
6 }0 M; G% _# ]; f% dP/df=dQ/de / {. r2 B4 T( a7 W6 t
X3=X2; % X2=dp/df X3=dQ/de) e& a* C+ E" H( L4 `. b% {2 u
X4=-X1; % X1=dP/de X4=dQ/df! [4 N6 y& f. K% [6 G; n
p=2*i-1;q=2*j1-1;
. Z( D) Q7 v1 Z& C" W' o& z3 n4 j J(p,q)=X3;J(p,N)=DQ;m=p+1;5 u9 k* Y6 z3 G/ A) x/ B' H$ ]
J(m,q)=X1;J(m,N)=DP;q=q+1;
1 x) w( }! Y/ \: ]# P J(p,q)=X4;J(m,q)=X2;
6 m; y0 C& Q9 V. m elseif j1==i&j1~=isb' S7 w( O% y \7 p' n, Q( Q; ^. ]
%非平衡节点&对角元
9 M. h$ X: r' J X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de
4 [2 u( N: k! l4 E1 t! J X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df
" I" D) L1 _' X) | X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/de( b2 y8 M3 P1 [+ j: x, Y. F7 f7 w
X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/df& `4 k8 z1 S I# G: {' j9 k5 b/ j
p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△Q
. E1 P! E `: U3 a m=p+1;9 l2 j( B: Y1 h1 H. ~' d
J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△P# Z7 f2 B6 f: H' x" l
J(m,q)=X2;
) Y+ }( F+ Y3 o3 ?2 Q end
) P5 W, U; M, z( I* J8 [ end: Y5 _- a8 j% P" c& b& C8 T* [
else2 A) B3 K9 N6 X8 ]' Y! ?6 h6 A
%=============== 下面是针对PV节点来求取Jacobi矩阵的元素 ===========2 J( N) P7 b0 j$ d6 a: j F
DP=P(i)-P1;
/ x2 ^ `* `% o" Y# S% PV节点有功误差) q6 F5 C+ j- m! W2 i% g
DV=V(i)^2-V2;6 H: O. {' {- g9 }& A% a7 S- g
% PV节点电压误差
* d) J# Q4 s; Z1 K: K for j1=1:n
: M1 A# h' n" M1 u if j1~=isb&j1~=i, Z& q( z5 ~* t
%非平衡节点&非对角元
+ `& G* K+ h/ {" Z0 Z X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de
P( O2 @) u; ?- e X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df
! K* q3 {- N: J/ Z8 t$ R* S X5=0;X6=0;
( T6 [8 Z3 C/ A; A- k7 b) A) E I- j p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;
2 ]' w; O& z9 B7 D m=p+1;
$ r2 s. Z6 h+ ?" X: j1 ? J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;1 `; f9 l6 }+ F A& c
J(m,q)=X2; ?+ Z0 c/ j7 J! w
elseif j1==i&j1~=isb
+ q" O1 M9 m, p. D1 z& P9 m& t3 g" E%非平衡节点&对角元
" I c- \ `% x/ Y X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de5 x: H$ B8 S8 H1 u
X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df
9 Q, x8 s+ @, P& H7 H; Q X5=-2*e(i);
8 m5 X: Q+ Z: Y8 _1 O6 m X6=-2*f(i);! G$ B7 w+ {9 |( f4 ]3 n4 Q
p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;' \1 r* X- Z# y) k
m=p+1;
$ J; J; C0 i4 ^1 o. C J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;
- L2 R3 Q1 l$ h X/ |' ]) [, I J(m,q)=X2;
2 d( c0 W, S# Y/ K D$ L end
& k& ]5 N8 K; Y/ a/ V; I: ^ end
* B4 w# d% w# C' d4 @ end7 J3 X2 O9 [! f3 I+ b$ ~
end
0 E9 n/ v7 V* {2 Q% |9 e end7 I; Z# ?0 E, x: O0 [
%========= 以上为求雅可比矩阵的各个元素 =====================$ i/ \) a4 {+ [
for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)
+ z& {! }4 c! ?% Q/ B% P% ` k1=k+1;N1=N; % N=N0+1 即 N=2*n+1扩展列△P、△Q
; `5 k) a* g' t3 Z$ @: C- | for k2=k1:N1/ G4 v" P) i7 {0 A% z% X# N
% 扩展列△P、△Q 3 J0 U- W8 |2 c8 N) M
J(k,k2)=J(k,k2)./J(k,k);# C8 T* d6 n1 p0 s. n( d
% 非对角元规格化 6 ?" _. p" x# ?6 }
end% E' b( w5 a3 x/ f3 g; x' Q# w
J(k,k)=1; % 对角元规格化
4 I* q) I+ U9 C7 X; a z' a if k~=3 % 不是第三行 Y% ~7 H4 N; l7 v
* d8 K4 J+ e1 ]0 b: G4 U%============================================================7 w7 Z$ B8 v, W9 {8 S0 @0 w
k4=k-1;' s5 ?6 m- E9 ^! j1 R
for k3=3:k4
7 s6 ^7 D W7 N" d! x% 用k3行从第三行开始到当前行前的k4行消去2 x1 I6 q' g5 l% ~
for k2=k1:N1
: J% h9 i6 u R9 T9 `% k3行后各行下三角元素# O& w: n% z* h9 ]( g2 _
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算
# o) t. n, {( D* h, Y end* x) \1 [' F& @0 `3 d* G# B
J(k3,k)=0;
9 s( D. p' z0 \) a% C% U" ]( v end
/ K, _# b/ b0 _, k" k0 I if k==N0
1 C+ F3 B8 c& Z* s5 c5 @/ G break;1 \# j; k! M" f% U& H
end: k { x& P2 C
%==========================================
' H2 V" a$ i! a6 s% i- r5 Y- N for k3=k1:N0( Z; N: Y9 N0 z5 L; H4 J7 V3 i3 S
for k2=k1:N1
( g" @6 b6 g! V& G+ E3 o$ S9 [% ^' a0 p J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算# B; a7 [8 I1 a$ D: v* e0 T
end9 a+ l, v, z, r; s) r2 c( M) v
J(k3,k)=0;
, D5 t; V1 w' C {" _5 e) v4 k* f end
, U) C& l6 R* L) q else
5 M3 r& v2 Z) G& C3 [ for k3=k1:N0
7 w/ K6 M! X) N+ V6 [ for k2=k1:N1/ E! M6 ]8 `; D1 E
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算
) D2 ~! _7 H# o7 o: z3 f end* [# M% q# P0 s. v; R2 ^4 |4 o
J(k3,k)=0;
4 q0 M5 u+ S5 R3 r D b$ u end1 V0 ?* x" t2 ^
end
L3 W: X6 j; x end
$ e( I+ w5 W; Q4 ?3 k %====上面是用线性变换方式将Jacobi矩阵化成单位矩阵=====! q8 R7 ?5 Q& l- Q
for k=3:2:N0-1+ i8 N0 z) s j) j
L=(k+1)./2;, K8 S! }6 L' V9 _
e(L)=e(L)-J(k,N) %修改节点电压实部. I1 _' q# W8 E. V
k1=k+1;( G: o7 \0 S' R8 l3 n& \: g+ k6 T
f(L)=f(L)-J(k1,N) %修改节点电压虚部% b6 \! i' K( A; K7 s0 W
end
+ F L% k1 ?& s: B, \0 p' e: J %------修改节点电压-----------) F- _6 z' \5 v; V# C- p
for k=3:N0
8 v$ x) J& B; [ DET=abs(J(k,N));4 l, j8 m: W. G% n- u" E! E9 C
if DET>=pr %电压偏差量是否满足要求
- R3 t7 {% S8 j2 T$ y" w, V* X s IT2=IT2+1; %不满足要求的节点数加1
4 c' R/ B2 k: S5 N: ^: f9 t2 q! _ end
. f5 O9 o8 K3 m# h end( T9 Y ]- W0 E$ a+ w! m
ICT2(a)=IT2;
: T2 m' b0 d+ L/ i- ^. D; o ICT1=ICT1+1;
# s1 G/ ]' l5 n4 B6 l) j4 W9 Hend
9 |. a7 u1 C# u* n9 v%用高斯消去法解"w=-J*V". z+ B1 [; ~" |% i5 W4 |1 D
disp('迭代次数:');
2 F. S' j8 B, ]3 m1 Q. y8 {disp(ICT1);
( g0 m: t: v' S$ ldisp('没有达到精度要求的个数:');
& _! p- y" S( S4 r: u( Y7 o0 r) odisp(ICT2);
% ^6 u- x, r" S0 T$ {for k=1:n5 k# [, i' r! g# I% O9 M8 i5 S
V(k)=sqrt(e(k)^2+f(k)^2);9 Z) s$ e% B7 D' Y# P+ Q7 T% K/ S/ t
sida(k)=atan(f(k)./e(k))*180./pi;- U8 i1 H3 D' n. `1 W
E(k)=e(k)+f(k)*j;
# G+ q8 d" G9 d" I8 @/ |# Mend- b( l7 ~ x# @2 N* B' n2 k+ N ^- v
%=============== 计算各输出量 ===========================- f' o$ M, z$ _: q3 s
disp('各节点的实际电压标幺值E为(节点号从小到大排列):');
. s3 y' y6 t edisp(E);9 w, _# ^6 b+ X( E9 l
EE=E*UB;
. f9 ~( R8 Q( R: K7 Adisp(EE);
5 w: M0 t9 d ?0 G( V, Q0 C# ?disp('-----------------------------------------------------');8 B# j8 R% c# _
disp('各节点的电压大小V为(节点号从小到大排列):');
) a6 Z* A% ?. k, I3 p. tdisp(V);% H3 o. t" c. {' Q5 \) b
VV=V*UB;; _* K h. [5 K* p8 I n Y+ Z' I# h
disp(VV);$ n7 A+ ]" _$ A$ _( H- W
disp('-----------------------------------------------------');
" f- |5 G& r1 _- c1 Kdisp('各节点的电压相角sida为(节点号从小到大排列):');
J1 N9 l3 K5 `$ Y" Idisp(sida);: r! ?: X( m5 p" o7 I B
for p=1:n; g' G# a, l$ q$ N# W% n
C(p)=0; M+ _1 Z7 x7 t% r
for q=1:n
8 e. r& o+ R% _% o4 |# c+ o* ? C(p)=C(p)+conj(Y(p,q))*conj(E(q));7 J) a* a; h7 m9 C
end
# T+ ? |! h% k0 l8 N S(p)=E(p)*C(p);
* u1 h+ C/ P0 {3 jend
0 z$ |1 V. I: ^ @disp('各节点的功率S为(节点号从小到大排列):');
: _1 G( X& L: |7 ?" adisp(S);
! s$ E2 l' _* {/ h4 L$ _disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');4 t$ i8 _) j" U+ Y7 W
SS=S*SB;9 w Z* X2 Q; [/ S9 G4 ?
disp(SS);! h3 U( e! S7 H# O; f" o6 H
disp('-----------------------------------------------------');4 V6 U1 k% G6 ?7 ^$ X3 a- X. Z
disp('各条支路的首端功率Si为(顺序同您输入B1时一致):');
' F5 K8 ~% D) |8 m. V1 u9 `for i=1:nl
0 x! h1 b$ E8 R- T$ q; ? p=B1(i,1);q=B1(i,2);' L( G& B: _7 Q; c) ]# \' }
if B1(i,6)==0
7 m* e- l6 G; Y% v* K/ A) X1 [3 y Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5))));& u2 A+ a( n* p
Siz(i)=Si(p,q);
+ n% M2 |1 K6 I# Y else
+ R1 y7 M& v" h' N4 ^; ^7 P) N Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)./B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5))));
. Z- I/ v+ H8 E, _ Siz(i)=Si(p,q);
: b. i0 E [4 t/ P2 J" `; ^8 a8 J, Z end
- V# e+ \' _/ J$ P0 X0 } disp(Si(p,q));# ~$ s- U" D0 p5 B$ r
SSi(p,q)=Si(p,q)*SB;& ?4 l! |) d4 V& M; w3 m- Y
ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];0 C/ `" b& x" Y, H
disp(ZF);4 Z4 ]4 j! w" u# y0 ]! J
%disp(SSi(p,q));( v' U( {) y& s) X6 _
disp('-----------------------------------------------------');; a* Y& Y* t3 r
end" z% S+ y& ~1 o4 V) x3 ]
disp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');
% X! H# @. B6 |5 M( _for i=1:nl. | O$ P: A P& f, u
p=B1(i,1);q=B1(i,2);
9 z& P7 z/ z; p# e if B1(i,6)==0' p/ q8 i; l% M/ x( ]
Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5))));, ?1 C$ z: [) j5 j9 c: Y. L
Sjy(i)=Sj(q,p);
, j" B+ R# t- { else6 Y" K7 m) \7 M, P# D" |% m1 G! X C+ u
Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)*B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5))));
( H5 G- P& ] L. v0 L$ X1 ?: o9 M! d Sjy(i)=Sj(q,p);
8 s. t/ Y& ]8 Q& ~$ w& m1 V9 O end
5 \( T" V' C7 _( e5 J4 y K disp(Sj(q,p));# Z+ `8 I+ l) V# Q
SSj(q,p)=Sj(q,p)*SB;4 `2 J* i+ n" z, q4 [ k$ u
ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];# t w+ l& f" Y% z% g5 m; y
disp(ZF);+ t# u0 a# X9 H+ H0 ]" r. U
%disp(SSj(q,p));( S0 h( D! ]. e6 z+ W6 B* J
disp('-----------------------------------------------------'); z% T: b" u+ f+ f8 z
end
: \# E F' F! F+ Zdisp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');! u: ?" Q( m( P3 W6 R" x* ]* V, W
for i=1:nl, O7 U4 @4 u+ A% t
p=B1(i,1);q=B1(i,2);
' _. K/ R, e; x5 W$ H1 q3 c DS(i)=Si(p,q)+Sj(q,p);
' H9 o* D. e! S/ H; i; s0 t disp(DS(i));
. o7 w/ p$ t" Z" s) ~ DDS(i)=DS(i)*SB;
& I2 Z& L0 Q2 S ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))];2 T" {) N1 C# ?! L+ f
disp(ZF);* \( o2 p2 b8 E% k8 z$ Q A8 X/ f* B
%disp(DDS(i));
( ?1 C, x. D. [6 Y$ g disp('-----------------------------------------------------');
$ \; V* C; W9 Z4 D6 h9 ~- A' D. V$ kend
; A, I( b' o1 X/ R5 I8 Vfigure(1);9 I# e( e m) M8 L
subplot(2,2,1);8 }0 f* v3 h8 D8 u3 b- b: B0 S
plot(V);/ K' u# V3 a Z; S& ]) x
xlabel('节点号');ylabel('电压标幺值');
; ?( x+ N6 R7 ~+ z4 y. L( G0 \grid on;: }7 L+ T t0 Y2 l# b, C
subplot(2,2,2);
$ n$ @ W" K0 N! Eplot(sida);
0 E! A% M1 c$ A4 g% ~' l* Y. Wxlabel('节点号');ylabel('电压角度');
8 @0 \( V& l0 j3 zgrid on;
9 g Z% M0 G8 W: [9 ysubplot(2,2,3);
2 k+ G& T. u5 g7 Q2 m; Rbar(S);
. t$ O! O) }0 p9 c& z' x. j/ G! l% lylabel('节点注入有功');
& t f8 F) U& z6 C1 k. \4 Y6 tgrid on;
/ L0 L+ B4 }; Psubplot(2,2,4);$ V1 a i8 z+ k' n' z! p4 {/ _
bar(Siz);( Y" W8 q! ]6 f4 s! n
ylabel('支路首端无功');
; h6 h( V. V' U5 Q2 Q; X4 v6 ]; fgrid on; |
|