|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
%本程序的功能是用牛顿——拉夫逊法进行潮流计算; l [( k: z0 Y
% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳( ]0 |+ u* Y. N: P9 X
% 5、支路的变比;6、支路首端处于K侧为1,1侧为05 {4 g# w& W# l v9 ~) G8 L$ o; n
% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值, }. Q0 T" q& `6 L ^9 m
% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量. f) T; l; v9 ^0 @" W4 ^5 |& n
% 6、节点分类标号! O: s5 Q1 l2 q
clear;
. d& _9 `5 k" {. Vn=24;%input('请输入节点数:n=');
6 Q+ j$ l$ r0 Q: v) p7 E- j1 u3 |nl=38;%input('请输入支路数:nl=');" D# L" I3 i1 n/ [
isb=1;%input('请输入平衡母线节点号:isb='); j& r1 ^5 k& P8 Z
pr=0.00001;%input('请输入误差精度:pr=');
; Z7 }7 y$ k: |6 h: XB1=[1 2 0.0026+0.0139i 0.4611i 1 0;# }( f% o7 s+ Y2 U# t
1 3 0.0546+0.2212i 0.0572i 1 0;
O$ E1 k& R& ^' ?: W 1 5 0.0218+0.0845i 0.0229i 1 0;
" v' F* e" A4 D/ B4 x 2 4 0.0328+0.1267i 0.0343i 1 0;/ e( T+ p V/ J V' z }" l
2 6 0.0497+0.192i 0.052i 1 0;4 c4 ?8 ^$ r& z
3 9 0.0308+0.119i 0.0322i 1 0;
. K' I( C$ ~$ G. J m 3 24 0.0023+0.0839i 0 1 0;
7 [6 P" r! d- V: {6 q 4 9 0.0268+0.1037i 0.0281i 1 0;
( }! G G) @! `/ b& B/ u 5 10 0.0228+0.0883i 0.0239i 1 0;$ v" q4 i* O( O9 [% k6 P
6 10 0.0139+0.0605i 2.459i 1 0;$ T0 U8 M/ Y/ O0 E7 |% S: O; @
7 8 0.0159+0.0614i 0.0166i 1 0;( H T, n( l4 v0 Z1 N( j4 ?
8 9 0.0427+0.1651i 0.0447i 1 0;
- v9 b1 V+ d3 F7 g( v% h 8 10 0.0427+0.1651i 0.0447i 1 0;2 M6 o+ N) [! B. B
9 11 0.0023+0.0839i 0 1 0;, \( u) O) r' b
9 12 0.0023+0.0839i 0 1 0;* X/ i/ }( T6 m
10 11 0.0023+0.0839i 0 1 0;
b! C- Z8 I# ^9 w 10 12 0.0023+0.0839i 0 1 0;2 d9 O) d8 \3 l T
11 13 0.0061+0.0476i 0.0999i 1 0;% H& f- {! j4 Y' z/ S
11 14 0.0054+0.0418i 0.0879i 1 0;
( G2 O1 C1 P$ p; q8 ?! E 12 13 0.0061+0.0476i 0.0999i 1 0;/ _) W4 Q1 }! a* ~$ t5 c4 H
12 23 0.0124+0.0966i 0.203i 1 0;
8 }0 m5 ~5 U9 H- U% l 13 23 0.0111+0.0865i 0.1818i 1 0;3 C, e7 I" l$ X
14 16 0.005+0.0389i 0.0818i 1 0;; A! a% u# p: C5 {5 D9 G# M$ {
15 16 0.0022+0.0173i 0.0364i 1 0;
% l. t( }4 M3 v! i0 |1 [- p 15 21 0.0063+0.049i 0.103i 1 0;; d7 i, w2 `$ o. q! ~! R; s J
15 21 0.0063+0.049i 0.103i 1 0;) M2 ~6 g& R' L
15 24 0.0067+0.0519i 0.1091i 1 0;
( V4 Z" ^3 ?9 ]' \, m& K 16 17 0.0033+0.0259i 0.0545i 1 0;" C6 Q) v; L5 q7 s o' U4 d# @- ~
16 19 0.003+0.0231i 0.0485i 1 0;
8 X- p0 p# \! C( n3 \+ |5 |3 k 17 18 0.0018+0.0144i 0.0303i 1 0;
, G' t- Q5 G1 H& ? 17 22 0.0135+0.1053i 0.2212i 1 0;- |- W% R1 y9 R$ U: o, q" @
18 21 0.0033+0.0259i 0.0545i 1 0;
9 r2 I$ |- b, b9 Z 18 21 0.0033+0.0259i 0.0545i 1 0;( k3 G/ U8 q6 t* k+ `
19 20 0.0051+0.0396i 0.0833i 1 0;
& L$ [' B6 w! C: l! _ 19 20 0.0051+0.0396i 0.0833i 1 0;( `& E8 \8 M: c9 ?
20 23 0.0028+0.0216i 0.0455i 1 0;
9 N F7 e" L( { 20 23 0.0028+0.0216i 0.0455i 1 0;5 [* ?2 L) p; I* L" S" w% f
21 22 0.0087+0.0678i 0.1424i 1 0];%input('请输入由支路参数形成的矩阵: B1=');
" b7 B `: F% H1 bB2=[0.1788 1.0157 1 0 0 2;, F6 c: U# H- ?: y* }3 d& w
0 0.9127 1 0 0 2;
7 B+ S* I5 m8 w5 m 0 1.6935 1 0 0 2;. G$ \& L O* G
0 0.6958 1 0 0 2;# x9 K' u5 v+ d) J- b
0 0.6669 1 0 0 2;
4 H) J+ O' s) O: D' f& ` 0 1.2796 1 0 0 2;8 h% R. r3 u2 U* x9 c4 j
0 1.1748 1.05 1.05 0 1;) @$ H( R! A: L/ R! F% ~
0 1.6085 1 0 0 2;
3 c" V" f ~) _2 ]+ e% ` 0 1.6465 1 0 0 2;
1 ^( U6 K: |( e 0 1.8345 1 0 0 2;
' M4 w6 Z6 B/ k3 H. Z2 [$ i 0 0 1 0 0 2;
; F# r) A0 S0 Y; G4 d 0 0 1 0 0 2;# _+ @% u) y: r. N- S) g+ Q9 Q
6.9529 2.4923 1 0 0 2;
, z3 |+ T# l8 j: q6 A 0 1.8236 1 0 0 2;
# z3 ?, }& Y; y. j8 D# i4 E 1.8235 2.9803 1 0 0 2;
: X- T1 f* ~4 r 1.8235 0.9398 1 0 0 2;2 l) d- t8 K! {- Z% ^% g+ ~
0 0 1 0 0 2;2 C( x' D: A* Z O( P1 K
4.7059 3.1322 1 0 0 2;
+ s, m4 j2 h7 ~4 Z! _ 0 1.7025 1 0 0 2;2 P) R3 @+ R& ?4 M4 o! u
0 1.2037 1 0 0 2;
1 m* A L" d: J. y 4.7059 0 1 0 0 2;' `" c# m+ [+ K1 k; s
0 0 1 0 0 2;
) P6 `8 Q% Q" M! `0 F 7.7647 0 1 0 0 2;
4 t, M v4 b* d6 ~. I! D; t7 {( z 0 0 1 0 0 2];%input('请输入各节点参数形成的矩阵: B2=');
8 \) m. H$ x9 b2 V$ S) S% L; R9 o& `Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl); k& K7 |5 k$ p j/ I
%-------修改部分------------) ?( a: X8 g/ C+ I8 c8 l# F4 A- c, u
ym=0;
, A6 G& D9 z0 b9 j5 ESB=100;UB=220;
: ?7 j2 f. r) w2 e%ym=input('您输入的参数是标么值?(若不是则输入一个不为零的数值)');
; P3 ^; M, l0 p, Z- e$ t. X$ T X/ d9 Eif ym~=0
8 a2 _2 z( `2 T, h0 E( I %SB=input('请输入功率基准值:SB=');! [% c! V. s0 `9 B6 d
%UB=input('请输入电压基准值:UB=');
* c8 O' x, s: Y1 f YB=SB./UB./UB;$ C; m. r7 p6 j( O" j( d
BB1=B1;
$ u5 A! h; e/ f# d( V' R: i. K0 X7 r BB2=B2;
* x: u( g! @: I: c2 m5 `6 ~# ^& h. h for i=1:nl
. ^/ y3 O! T* i- `0 a B1(i,3)=B1(i,3)*YB;: C O7 _- o+ ]' o; d, g+ a
B1(i,4)=B1(i,4)./YB;2 L; x, y) ]) a
end
/ F' g% |; R: A) H disp('B1矩阵B1=');& ]; v5 Y; Y- [% e0 W0 u* U: A
disp(B1)
7 Y. G) c& s1 @* v for i=1:n+ |7 j6 E, Y3 X' N
B2(i,1)=B2(i,1)./SB;" Y, E+ n3 W/ N; x9 w8 [7 B
B2(i,2)=B2(i,2)./SB;
% z7 e) V! m. @ B2(i,3)=B2(i,3)./UB;
" z' V W: g C: A2 j+ Y7 h B2(i,4)=B2(i,4)./UB;/ m$ o9 Z" t8 j* W3 K) y# P: M
B2(i,5)=B2(i,5)./SB;8 W- Q2 ?7 T0 o9 L
end+ e$ I$ [8 x6 b' y0 l3 u
disp('B2矩阵B2=');9 A1 l+ A- M# R f& {. t
disp(B2)
' H/ W3 j/ N |) N( @end
1 Y% Z8 S9 o4 ^6 ] b, _9 p$ _$ z% % %---------------------------------------------------4 v5 y3 ]3 I* G2 D
for i=1:nl4 S$ ?( g1 y3 P! X4 n
%支路数' F# C( H$ w( l( i* u5 H4 d
if B1(i,6)==0' Z' r/ c9 K- J5 g7 s5 Y6 O
%左节点处于低压侧
8 i9 h; R P! k7 }8 C1 ]% h0 h p=B1(i,1);q=B1(i,2);
2 C; C2 V0 B1 b9 ?* | else1 c" l2 e2 s- L
p=B1(i,2);q=B1(i,1);
& J/ g+ _8 ]) Z+ b# P end
, x( I( r6 f4 K/ ?6 W Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));
$ o% h2 z+ e3 K& ^4 B%非对角元) R! Q2 Y& e9 L' x% q( W
Y(q,p)=Y(p,q);% j |( Z2 m+ W' A
Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;
v% L6 F' l$ s# b; V- R5 r6 P%对角元K侧
. b/ R2 s/ F' I, B* z Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2
" s* n7 ]% I9 `3 V%对角元1侧
8 M" n; |) L# ]+ i7 Nend1 X5 N9 D' c4 x+ ?4 e
%求导纳矩阵" }( C! s+ _3 h' K' k ^
disp('导纳矩阵 Y=');
8 S5 a/ ]' ?4 Z" S& P1 fdisp(Y)
7 b& W0 N4 H0 B/ V% U) t%----------------------------------------------------------: N* b. Q! A, k. G. g
G=real(Y);B=imag(Y);& M% J6 S! M: z6 |+ F
%分解出导纳阵的实部和虚部
/ u( L8 b/ u- r. g% \for i=1:n
+ S" A7 K8 k" v. U3 y0 P%给定各节点初始电压的实部和虚部 8 m$ K, Q+ e) A: W0 E6 i
e(i)=real(B2(i,3));
8 N: `4 V! X5 p7 m; U ^* w f(i)=imag(B2(i,3));. w' Z5 A" D. H! }& U I( }& ]
V(i)=B2(i,4);
9 W! ^ |1 l. o5 Y) `. {%PV节点电压给定模值
5 y3 Q9 @9 p$ }2 Hend
- f, o! ?; S" m0 i) N* X+ tfor i=1:n R2 n+ _0 j6 `% S" J7 V9 Z
%给定各节点注入功率 3 J |; W+ g- O8 P9 ?
S(i)=B2(i,1)-B2(i,2);
0 P7 _/ `* U. g: C5 c%i节点注入功率SG-SL
+ U" ^3 |$ S: k* [* D, m B(i,i)=B(i,i)+B2(i,5);8 Z* ]' H, \" Y$ e x
%i节点无功补偿量
: r: O8 E+ L1 Aend
# n" b/ _/ t3 y3 M' ?, y8 b( V; W%===================================================================
4 U. d2 k5 Y0 p Y3 y& ~$ WP=real(S);Q=imag(S);& R3 b, _& w. x* z0 i
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;5 [9 `: \" p3 M5 P2 w
while IT2~=0% i! S1 _6 e6 K; H; t
IT2=0;a=a+1;/ c. M5 U! a6 ?& |1 `
for i=1:n. u# L! L! \% {/ z/ m3 j
if i~=isb* e% R) L) m3 }& {# B5 M: D9 O8 b2 R2 c
%非平衡节点 # n( ~! W ]" t; ~0 q. W0 `0 @
C(i)=0;D(i)=0;" Y! L0 L) d, e: Z
for j1=1:n1 |+ p( \$ u0 Z; ~- J' h |: `- M
C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)
( ]7 Q& e8 K- K( U D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)
. {' c" A _# Z/ n$ p2 Q end% Z, ^9 M' i" [' A7 G+ F9 A( f
P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej) P- I; R; M$ h
Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)
' B& q3 Q4 M0 h# n) @%求P',Q'
, p. l4 |: O4 ]- o. ^9 N: r/ N V2=e(i)^2+f(i)^2;, D8 e7 _$ L* T8 Y! Q
%电压模平方
2 x- b- P, s [& V6 Y4 u %========= 以下针对非PV节点来求取功率差及Jacobi矩阵元素 =========
/ E0 X* P4 i& |( q" f/ X- S if B2(i,6)~=3
7 e2 G! F" j# @/ o%非PV节点 ( g4 `# m J# ^" d/ m( m9 F
DP=P(i)-P1;) {9 }# R, |7 [# S; [0 U: m+ Q
%节点有功功率差 8 U+ v, d; l. N3 S
DQ=Q(i)-Q1; %节点无功功率差
7 N2 l% z4 T' V/ ~%=============== 以上为除平衡节点外其它节点的功率计算 =================
0 O b9 z+ f! ]: v5 J%================= 求取Jacobi矩阵 ===================0 G: f. j% h1 G( \9 \
for j1=1:n
+ n$ w5 K1 C6 k% D if j1~=isb&j1~=i& F2 M% \/ f5 r; k7 H s' \' C
%非平衡节点&非对角元 8 i: n' {. T* q3 T
X1=-G(i,j1)*e(i)-B(i,j1)*f(i);; ^& T5 h& m5 L1 R3 i2 Z
% dP/de=-dQ/df * _1 v( W5 Z: g) F8 I
X2=B(i,j1)*e(i)-G(i,j1)*f(i); I2 ^. Y; M/ g% B0 {' m: ?
% dP/df=dQ/de
! v% Q, p* x2 J6 E X3=X2; % X2=dp/df X3=dQ/de# L- V. }) ?' z9 Q
X4=-X1; % X1=dP/de X4=dQ/df W5 V) {4 q4 C4 x" T
p=2*i-1;q=2*j1-1;8 b6 F+ a, T; L* F3 {: p/ Y- o. a j, P
J(p,q)=X3;J(p,N)=DQ;m=p+1;
# c5 ?0 x. F* m) V! e, o- \2 d J(m,q)=X1;J(m,N)=DP;q=q+1;
0 [, [) N. _' V# @; G J(p,q)=X4;J(m,q)=X2; p" s& E# Z- \9 f0 a; ~' f
elseif j1==i&j1~=isb
* S5 y- L6 i& r ]) A9 I" V1 j%非平衡节点&对角元
% L- ^2 S. [; h2 V" l5 k X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de
. t6 N( {; ?* H6 h9 ` X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df
+ t* S! A, c. j6 r( K# o" _ X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/de
* {; N' S9 k6 [! R0 A' l3 D X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/df2 [4 _; ? D; B0 B
p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△Q
) f* k# W) R" g m=p+1;' E5 l/ J( k- Q% X
J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△P% P: ]1 L A( L+ q
J(m,q)=X2;5 J6 Z0 {4 | D6 s7 }( r7 i0 ~
end/ y( I' T- H' `
end
& t+ I* a5 [ Y' C else' j, N& O4 `) _# [& R4 k
%=============== 下面是针对PV节点来求取Jacobi矩阵的元素 ===========& N1 T" b8 u+ ^8 f4 O
DP=P(i)-P1;) C* `* k& \- D0 v/ O
% PV节点有功误差. X* s+ q$ h0 T% i l g7 ?( F
DV=V(i)^2-V2;' \$ Y) H3 w3 k4 `" t; O, P! g$ {
% PV节点电压误差
& R/ a* D. q, M$ y6 j( I# L+ P for j1=1:n& D, p! _/ ]+ ~3 n% M
if j1~=isb&j1~=i
# a7 I u4 W: h h7 P. ^%非平衡节点&非对角元 ( q2 q ?- E+ D8 W# _! ~4 W
X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de0 c2 s A' n% h
X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df) J' o- z$ h0 W: ]9 d) @, O6 z
X5=0;X6=0;
5 G9 `/ _# N9 a4 P+ W) r# Q7 l p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;
+ J( t6 g6 W3 {1 p6 r m=p+1;
, W6 c: ]+ I1 v. }- j J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;
d$ n. {* C% c' x/ X3 E J(m,q)=X2;1 H) Y% h% H. d$ w8 ~* C
elseif j1==i&j1~=isb
6 E8 I5 V; E* U3 p%非平衡节点&对角元 8 |4 [7 z8 F( |0 E! x# e$ f7 l6 o j, O4 ^
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de
7 r4 g( J, v* C R X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df& z6 D1 l3 K+ R3 C% J
X5=-2*e(i);
! i* ?* A# _2 C9 a+ k R4 u X6=-2*f(i);
- b5 Q. x, J: t+ D$ H6 x8 @/ N p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;" i' E/ F# \( g& [
m=p+1;# K! Q; S2 |5 [: s2 G
J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;
, \. t' r! y3 C, A J(m,q)=X2;* V2 H- E, { e* ]
end
. j r# @, @% } end0 x! U, V W4 s- t7 f. \
end
' J+ Y, b T: S; O+ u" n3 [ end5 V5 j( T3 x/ e- c9 w7 w9 [, u
end
% o: O: [: M; g( J }%========= 以上为求雅可比矩阵的各个元素 =====================
. A. `4 w. l* |1 b G9 e1 A& u for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)
+ a( v. ]% I4 N3 E' X( U6 j6 L k1=k+1;N1=N; % N=N0+1 即 N=2*n+1扩展列△P、△Q
) }, E/ u5 A2 F for k2=k1:N1. w2 P+ }" D& d* Z6 n2 G
% 扩展列△P、△Q
( C% I6 w {0 s4 Y J(k,k2)=J(k,k2)./J(k,k);
! c5 s6 K: k" g- z& J& P& E/ A" D% 非对角元规格化 ) `+ N% l; t8 ^3 N9 ~' a: E. t0 Y8 z/ Z
end0 t @8 J7 D1 q" M$ M/ z
J(k,k)=1; % 对角元规格化
) I5 k$ W5 c2 ^7 s$ Z if k~=3 % 不是第三行 x1 H: P. l" k _% H$ ^
; K" ]/ e. y2 B& b4 l3 o/ m- o%============================================================
3 ^/ M! |8 @; ~& x% t5 o; l( y1 p9 | k4=k-1;. A ?0 k A" O4 T9 Q
for k3=3:k4$ k) _: F$ P1 [6 M2 i$ K/ O
% 用k3行从第三行开始到当前行前的k4行消去
1 A+ U, ~5 s5 h) g for k2=k1:N1+ W$ l+ {0 z7 D" r
% k3行后各行下三角元素
/ L2 n+ U. i, s4 Z: d/ L! _! ` J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算
8 u% i* x+ X% p$ [; X( T/ t4 Z( Z end
m/ _# I7 r3 a3 l J(k3,k)=0;
+ f7 m! u* Q1 g6 }/ v6 N end3 s3 C! h! q* C0 d$ |
if k==N0 : M0 D& \( ]& Y$ |; C2 X: u
break;3 c8 I% f( a6 l. R c) ^5 P! Z3 a4 q
end( @$ ]; `$ S0 ]) z U; o
%==========================================0 e n8 H3 N! q# ~
for k3=k1:N07 B* B9 B3 w; M, }& G: y* S8 k
for k2=k1:N1, |+ m% B% i) ^& R
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算
1 x' ^0 V% ^- h% K1 }* G" _1 c end9 y: w2 r( {5 i: a3 T. @1 c A
J(k3,k)=0;$ y% z2 |& `1 i8 J( H5 D: s
end7 q. G0 V: _# i; U
else& ]" o5 {/ X4 v ^
for k3=k1:N0
$ }: K; y+ `! E3 }' G$ E4 W for k2=k1:N1
7 M+ P ~% e3 t. U6 I J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算2 \3 W. O& b6 k$ m
end
* m/ ^( D6 a+ l# n7 F w: B J(k3,k)=0;
4 b! n" {3 B o1 g) v. p4 C end
! s# u$ J2 l2 B& \ end
! D, t* p( y7 X3 T" s end
. [. }) [* f( Z4 _& I; U p+ q0 W& U %====上面是用线性变换方式将Jacobi矩阵化成单位矩阵=====% K' h; Q8 z8 i& H$ r7 p2 V$ R
for k=3:2:N0-1* c; ]& D i7 q9 h
L=(k+1)./2;0 R1 \* Q6 }- J& j4 N4 E) G e
e(L)=e(L)-J(k,N) %修改节点电压实部) v) q& _; Q' ]" d% e+ w) Z
k1=k+1;
5 P' n2 \8 `, [$ z; Z f(L)=f(L)-J(k1,N) %修改节点电压虚部' ^, Q" b( N+ y0 I" M" U* d
end
* I2 L" d3 W0 n# A1 p0 C8 p& m %------修改节点电压-----------
, r+ ]- u4 f$ V1 V- @& h; P for k=3:N01 ?: L, j! f6 [9 G$ |2 B( K
DET=abs(J(k,N));
) Y8 ^, L2 F1 \/ A, h if DET>=pr %电压偏差量是否满足要求
) c% A, G: O7 V IT2=IT2+1; %不满足要求的节点数加1
7 n8 I1 F7 n# o! G end
3 }1 r- R1 P# ~& U/ X# e& U7 x2 ^ end
7 L6 z' d- O( F* C" x. @ ICT2(a)=IT2;, G5 ?" J* v' K; D, a0 `" x
ICT1=ICT1+1;
3 ]: \, ~. d O9 e1 {end
* p1 t+ J4 Y- g0 F: A# ?" R, N%用高斯消去法解"w=-J*V"
" R$ v. F- `/ B$ a! fdisp('迭代次数:');
* z* k/ R% F7 T1 _9 C0 ^disp(ICT1);9 @1 d8 x4 j5 o' k
disp('没有达到精度要求的个数:');
( `. u0 M1 z0 v! edisp(ICT2);9 ^7 @) t/ S, I5 G9 _7 }4 y f$ v
for k=1:n
' u: F( W( ~ I; u2 }5 x) s: ] V(k)=sqrt(e(k)^2+f(k)^2);; n* U; ^- V, e" r2 q
sida(k)=atan(f(k)./e(k))*180./pi;: u1 N2 D! |+ S; Y7 m
E(k)=e(k)+f(k)*j;
7 z6 R; @( `+ v! Wend
9 N2 q) h7 D* _3 {3 K%=============== 计算各输出量 ===========================! e' H8 p Q0 \/ z* k
disp('各节点的实际电压标幺值E为(节点号从小到大排列):'); \1 R1 Z3 ^6 v! r/ q8 y1 v
disp(E);
) R% n3 g; c- N2 qEE=E*UB;
; q. E5 Y2 v7 m* S& F$ c7 Y! F4 Mdisp(EE);
w c' C+ f" ldisp('-----------------------------------------------------');1 f) F( E" m6 V4 r1 `* H
disp('各节点的电压大小V为(节点号从小到大排列):');/ O. _1 U1 v& \6 |# C2 S
disp(V);3 d1 e( S0 B/ n" r8 u
VV=V*UB;9 m" N$ L$ t. n3 `7 C8 D" g
disp(VV);+ c1 h( j/ v, P) P2 ?
disp('-----------------------------------------------------');# }* s5 L& e$ Z& s$ _7 g" F
disp('各节点的电压相角sida为(节点号从小到大排列):');: V. X) ^5 Q! u, z
disp(sida);
8 S* W \, }3 o9 u# x! K( u# sfor p=1:n
& z2 v! z g- p% Y% p C(p)=0;
' A* m. _8 u* |% f6 K, m) P$ f for q=1:n
$ K) { D4 m N& j. {3 m( ^ C(p)=C(p)+conj(Y(p,q))*conj(E(q));
% m* _5 `/ T7 d0 v, ~( B4 r; q end
, I* B9 o/ G1 B# n S(p)=E(p)*C(p);5 i) b) g! N! j! m8 N
end
% k3 x6 \4 n. W2 o, D7 K; R3 H6 {0 Fdisp('各节点的功率S为(节点号从小到大排列):');
* M! ?& n: A$ tdisp(S);
( p4 ?% U2 f5 l, Fdisp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
! }; h, f+ N; J( x2 T; ?SS=S*SB;
9 K2 r4 {; o- [disp(SS);
- ?$ \+ C# [# S" Q" `# X- K2 w, a7 wdisp('-----------------------------------------------------');
# v4 B- r. s) ]+ u6 Q( N% edisp('各条支路的首端功率Si为(顺序同您输入B1时一致):'); b9 Z7 a- }& h5 o( J5 O
for i=1:nl
# O) T6 A, B9 E o. n: Y: a p=B1(i,1);q=B1(i,2);! B: j) }( W5 Z ?* b; K8 ~
if B1(i,6)==07 `2 ^* w/ q6 v+ K. ]
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))));: v& c0 _( K/ e
Siz(i)=Si(p,q);
: W( b# m" F) n+ x' p: G* u1 x else
% k4 O7 l, i# E/ k- @3 e 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))));
% i; q( [2 P6 A( Y9 t1 ~& @5 o6 ] Siz(i)=Si(p,q);& U% M" t! u' m9 {/ Z8 k5 m
end
8 D& b( q5 G: u3 ~/ b! C disp(Si(p,q));; B) X# G5 b# U* e! W. ~( R" x
SSi(p,q)=Si(p,q)*SB;2 e6 u: A& }: H: w. d
ZF=['S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))];( t: U: B* X8 q
disp(ZF);8 K$ z, i( b9 l) \* P; h7 C
%disp(SSi(p,q));
: g! J# V3 }/ ~8 Q' X( y$ W. Z disp('-----------------------------------------------------');% z" \3 a6 C, R
end4 K4 A- _8 q. W3 [2 c* j
disp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');
" p' a2 y' a- z) W afor i=1:nl$ k$ `6 w( U0 G3 N" @0 S
p=B1(i,1);q=B1(i,2);/ v. Y: e: ~) t( u. @. h) f
if B1(i,6)==0, b M2 j' c# x3 M2 r5 a! \' [
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))));8 Z" j$ F; a& b+ a1 `
Sjy(i)=Sj(q,p);8 ^* {% V# j; x7 i2 O
else- b- b+ [. M0 |# z* ?( d. |
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))));! p' ~, ] y: i! A' w& m; v
Sjy(i)=Sj(q,p);. `' P4 @+ D1 h5 _0 s+ Z
end
0 ^7 g6 A+ F9 r% [# y. _, f _ disp(Sj(q,p));
! N- P- T0 L2 d& O' I# x' q( I SSj(q,p)=Sj(q,p)*SB;) [8 T# v. W2 j) ~7 `# \; F( i
ZF=['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];
5 N" r+ a8 ?6 ]& _* z8 y W( G disp(ZF);
& T5 t+ Q" q. d4 u8 W: m/ B8 I %disp(SSj(q,p));5 e x9 l& Z* w% E: ^
disp('-----------------------------------------------------');
/ g" P7 n& Z1 A! R) A, s) wend
+ w. U9 P& S1 a8 cdisp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');- e8 u# o, I, A7 K& x" o
for i=1:nl
3 R6 M. q& O- s0 u p=B1(i,1);q=B1(i,2);# T7 J. D1 U. ]! Y7 Z0 d* L; l7 K- G* A
DS(i)=Si(p,q)+Sj(q,p);4 H. M' I2 g }+ i
disp(DS(i));5 F M6 ]; a w8 b. F* Z3 @
DDS(i)=DS(i)*SB;1 m7 n9 {& Q# W5 J. J/ N
ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DDS(i))];; w: [# L2 X% j4 D: n
disp(ZF);0 \, t+ z: f* m7 ^: g; \
%disp(DDS(i));
1 _. j( J# h; ^* K8 x) U+ [ disp('-----------------------------------------------------');" _7 c6 g( |7 W6 b- R- Y
end
. F; f' N! S: bfigure(1);3 q- g. G, C8 p6 ?1 x
subplot(2,2,1);
- Q. D- h; a Nplot(V);
6 f! _5 w) m uxlabel('节点号');ylabel('电压标幺值');! W* [) T+ H6 J
grid on;
, e. G/ J/ y# Z, t# d0 l( Bsubplot(2,2,2);
0 t3 h5 @" E: U: B: m6 s$ ^/ ^0 iplot(sida);+ C+ s2 @9 d6 |5 C6 f
xlabel('节点号');ylabel('电压角度');
* p$ E* E5 I" j* ~grid on;
( y, ^1 H, U' k3 [' wsubplot(2,2,3);
t4 x, t% G6 h& W5 Dbar(S);
1 {: M, ^9 m+ E. yylabel('节点注入有功');
1 t' L1 C9 f9 G' ?1 ^ u3 c/ E3 H9 w( Ugrid on;
/ J2 l% L: b& G! I4 M/ dsubplot(2,2,4);- X' D" A/ w! @6 _ r" Q
bar(Siz);9 T1 y; [4 L' }% y6 o
ylabel('支路首端无功');
" p& w* V/ p/ r8 ~5 B. x! ngrid on; |
|