马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
首先声明一下,这些是从网站上转载的,不是本人上编写的9 k/ c N1 g9 d. k
基于MATLAB的电力系统潮流计算
9 q/ d$ U1 F6 r( r: P+ Q7 M# P: u- M5 ?
: l# B7 {7 B/ {* p C%简单潮流计算的小程序,相关的原始数据数据数据输入格式如下:
) _3 Z: W1 j- H& t+ ^8 }) A2 w%B1是支路参数矩阵,第一列和第二列是节点编号。节点编号由小到大编写
( I0 [5 p( ?% I%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点: Y$ g6 A8 U2 o" T- Q8 f) f0 F( n
%编号,将变压器的串联阻抗置于低压侧处理。
: m1 N3 l% a5 ~5 F$ V6 V3 s, E# d! L%第三列为支路的串列阻抗参数。
7 z4 p/ ?4 j9 ]2 ~%第四列为支路的对地导纳参数。
{$ b0 B/ n5 k" Q( h6 d* B%第五烈为含变压器支路的变压器的变比
9 C' e1 A, W0 A# F%第六列为变压器是否是否含有变压器的参数,其中“1”为含有变压器,
9 _" v7 N9 o2 F# P& X# l" ^%“0”为不含有变压器。
|" D% H7 o" B1 L5 L/ T%B2为节点参数矩阵,其中第一列为节点注入发电功率参数;第二列为节点
1 N- d7 Z5 \. Z, n) {+ [ e%负荷功率参数;第三列为节点电压参数;第六列为节点类型参数,其中
& x9 l" r9 \/ g9 |8 H%“1”为平衡节点,“2”为PQ节点,“3”为PV节点参数。7 o7 h# T8 u# R2 ?( N) M
0 l/ U' A/ S. a( x$ w# I
%X为节点号和对地参数矩阵。其中第一列为节点编号,第二列为节点对地" r, ]! T" K. p) D& o6 ?
%参数。0 V1 N; F; S" X, y8 y
n=input('请输入节点数:n=');
0 N! l2 K, L( u$ ^n1=input('请输入支路数:n1=');& q! Z2 g0 p/ W; `: F
isb=input('请输入平衡节点号:isb=');
9 Q1 v3 z! f3 ]6 hpr=input('请输入误差精度:pr=');9 x _1 b7 \+ [9 J% _( Z
B1=input('请输入支路参数:B1=');, U R$ E+ [4 O- h3 @
B2=input('请输入节点参数:B2=');6 k' l. U1 s3 O; O& H
X=input('节点号和对地参数:X=');
# s, T6 k; t. p/ N( B# hY=zeros(n);6 C, v: r& S$ G Y- F: P% ?
Times=1; %置迭代次数为初始值
" e/ q/ V5 O: {* w1 _5 j N%创建节点导纳矩阵2 d8 x. Q) h; @- h F& U: R+ l/ U/ b
for i=1:n1* s. O" E4 a3 O1 ^* j7 X E O/ @& a
if B1(i,6)==0 %不含变压器的支路7 k5 C4 i) I1 {( K+ H$ t9 G
p=B1(i,1);5 q' G! ~+ [. d- o3 |& b$ a4 L
q=B1(i,2);
+ p2 m: H! j$ g: f1 M4 T Y(p,q)=Y(p,q)-1/B1(i,3);8 C9 i7 }4 c, n1 q& z; h8 R/ z
Y(q,p)=Y(p,q);
2 t* G- {* x' h# X7 Y- r( Y Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4);: N; C( W0 @9 L$ N- l- f3 a3 C5 j7 g
Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4);
. U( @) X) x F" [! L else %含有变压器的支路( V3 o) Z4 G4 |; X
p=B1(i,1);3 r \ E& d# E
q=B1(i,2);
% f# i N! O, S1 d$ f9 J' ?6 ~ Y(p,q)=Y(p,q)-1/(B1(i,3)*B1(i,5));
2 p) k9 S* I' ^# p Y(q,p)=Y(p,q);
) m5 {& T( F$ O9 `+ k6 i Y(p,p)=Y(p,p)+1/B1(i,3);
" n3 l! ]: e5 ? v8 @" F0 v" j. l* A$ a" j Y(q,q)=Y(q,q)+1/(B1(i,5)^2*B1(i,3));7 \* O m9 m/ G) A, w, E4 E
end
# M5 X3 b- f; y8 e( C4 ~4 @end
: e) P H2 D3 t/ |2 N5 {2 H$ {Y
/ T7 N% E w q7 h& M" T _9 VOrgS=zeros(2*n-2,1);
/ \: V' j5 s( jDetaS=zeros(2*n-2,1); %将OrgS、DetaS初始化8 u! a9 a9 H) M8 o3 ?6 {% O8 \
%创建OrgS,用于存储初始功率参数
9 x w; e, g+ H% p/ ch=0;
( j& q& v$ D4 X/ @j=0;
x9 [+ X3 g. Q$ \6 ~for i=1:n %对PQ节点的处理* z a; J5 r! \
if i~=isb&B2(i,6)==2 8 n' q {' T* {% m7 C
h=h+1;+ e! O, W. H. u, ]8 k
for j=1:n
3 i2 r- x- n$ b" Q OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));0 C9 m( f0 E& L) x$ N2 m, @
OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));8 l: j; _% O) N& Z$ H2 J
end
/ y) x. x# i+ [( E( g+ U" q0 |7 k$ k6 O end0 U1 K/ H9 \8 ]. q* C, |1 g
end# X) A3 x1 e: u+ ]
for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0' U$ A- \. l& v6 Z" d! n* Y4 D# O
if i~=isb&B2(i,6)==3
8 f* H1 L) x) R+ [ h=h+1;( e! c5 f* Y* R" L7 X. D5 u
for j=1:n
( O# L( J* Y) e OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));) c$ [& k# }8 m9 ~
OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));
' _: L; k; E: _' Z' |7 D7 j end/ I. u. D8 T9 A* T
end% t/ m3 I O, X' H4 q/ L) f" a& |9 |6 e
end/ E. `( z# o! h- N+ {& W
OrgS
8 A* f( X- P) `* F/ H%创建PVU 用于存储PV节点的初始电压: K6 A1 X1 g8 M
PVU=zeros(n-h-1,1);
4 [7 C5 @+ d6 N( c. ?t=0;
" ^6 U9 |! U1 X) P0 U* {/ a$ l3 Vfor i=1:n
7 s/ e9 P0 F4 v0 X if B2(i,6)==3
5 n _$ m8 @5 x3 x) E, i" _8 i5 S t=t+1;$ K" [# z/ o D" @0 m4 G& K
PVU(t,1)=B2(i,3);# |, K) }( Q' m6 ^8 p7 A t& o" h, k- T
end
7 ?% ^2 W. n9 Y( x, w& }end
& o5 ?- r$ `0 V/ }' TPVU
' }1 \$ u# n" j5 S%创建DetaS,用于存储有功功率、无功功率和电压幅值的不平衡量" D9 J# L; c1 j6 a; U
h=0;5 z! A0 {9 S: e5 N8 N6 u: C
for i=1:n %对PQ节点的处理
( b. Z% j; ^ ` if i~=isb&B2(i,6)==2! e. U) h: T! X4 K/ t% N
h=h+1;1 x* @; ^( F/ X1 F6 g
DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);
& N6 d, o+ {$ ^7 {# L8 T DetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1);
: r% T* E/ F3 w. W1 }* E end ?$ j+ R: ~! A% p. ?' r/ n! z
end
7 n7 j! N2 |% s2 s9 V5 X4 B9 b% j# Mt=0;
9 K0 G8 g0 F ^for i=1:n %对PV节点的处理,注意这时不可再将h初始化为0) i; ~) ~8 C! }9 Y- k3 W
if i~=isb&B2(i,6)==37 O+ u( A- j9 p+ i- L% p" X
h=h+1;
- V) @) \, r2 J, k/ t3 Z) j t=t+1;
& @, X+ X% c0 U! e. o. z DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);7 Z1 p& I5 z0 }* |2 w% x+ s
DetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2;
- i; i# ~2 n, H5 t- [: @* p end6 v2 g, J! f3 j6 Q: O
end4 I7 ^8 w; G) v2 A/ _
DetaS
) W$ g* |/ h1 s0 Y%创建I,用于存储节点电流参数
" J6 o8 t! Q8 s" [6 Di=zeros(n-1,1);
) a0 `7 `4 s/ l; U Y/ L6 M0 Wh=0;
' ?/ c3 K+ Z, ]( i* yfor i=1:n
! z* a: U2 b! `( W' V9 J5 a if i~=isb) a- L* O; C3 M5 Z) P& D' p* J
h=h+1;
/ Y Y; Z2 ~( H8 e" R; O- z* [3 [ I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));# `9 y. p( v6 X7 R9 v4 n: Y' M
end* M F' N. ]3 [" W. l3 ~4 w
end
- }9 ~$ z8 n; k! {I$ p5 Z& f. A- x4 Q B2 U8 p
%创建Jacbi(雅可比矩阵)
; T. w3 s8 Q) s- W) sJacbi=zeros(2*n-2);9 B, b: B' }, L2 O% K+ {
h=0;
& h- |( X1 G8 j5 i+ c6 k$ ek=0;
. I$ v) s/ Q- m6 B8 L& u" rfor i=1:n %对PQ节点的处理
% V! H# s6 P$ ?0 n/ r4 P& l if B2(i,6)==2
3 T: u( E. o$ p3 h- v h=h+1;
, e4 t3 }% z) w% ?( } for j=1:n
& ^7 d/ [8 h4 i1 y2 q5 X& B: o( @% T if j~=isb0 m5 T% E: B0 `9 k4 \" l. j
k=k+1;/ }1 `9 o* ]6 X2 H! j2 ?; }
if i==j %对角元素的处理
' T4 ~. C, x& P+ F! [, T Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));
0 I1 ^4 l: i2 a5 K0 @% R x Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));7 i. i2 P: z/ ?9 E$ Z* e" @7 \
Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));% Y' Q, a7 \3 B; k: @ K
Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));$ |) @+ d4 D: o7 x8 I
else %非对角元素的处理5 ?: o0 i h% T. W
Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3)); M, _! _6 j* g* U7 D
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));7 W: F8 ]; x3 F( T) K
Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k); [) x9 ^& |; ?
Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);1 P+ B5 n; R! l
end
6 d3 l- f, ]+ L6 O: r# A$ }& P if k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行
% |4 D* Z& H' }1 j. [ k=0;
+ s, R4 ^9 X- ]# a end
8 w$ \! Y3 _# ]" l5 }$ A* v3 y end' w+ `% P7 ^3 Q4 m
end0 D1 f4 M9 j& f' C0 I0 G
end6 l g3 D8 v2 y6 X) |2 z2 q# H
end
1 k3 U' e% s: G& e) y! m* rk=0;. S3 d) {5 d# n, R! c: C
for i=1:n %对PV节点的处理2 E, T, i/ F8 z; g5 Y* o* X
if B2(i,6)==3: e) }6 ~, @; A1 b
h=h+1;
0 h5 H9 m4 [0 ?0 h5 z for j=1:n9 W5 U& s; M; v5 O o
if j~=isb2 x. I) Z8 ~0 C7 [* \9 t& j% F! Y
k=k+1;
9 X4 f: G3 \; J5 [: C if i==j %对角元素的处理
0 q! R: c1 L) p K0 `6 h Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));4 Z* E% ^: h& I# _; [
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));2 @; V+ _5 s q
Jacbi(2*h,2*k-1)=2*imag(B2(i,3));
. W9 c2 a2 l( D" I Jacbi(2*h,2*k)=2*real(B2(i,3));
L; ^! [; q' m: x) U4 J else %非对角元素的处理
2 X* u f0 c1 L6 _5 i Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));
8 [1 s; Z& a4 {7 j Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));
5 x( A& E0 ]- {( s Jacbi(2*h,2*k-1)=0;
; j, F7 a: u' w6 r$ r Jacbi(2*h,2*k)=0;8 K$ |$ X8 F+ D2 `
end& m& Y* c2 z% F' G4 U
if k==(n-1) %将用于内循环的指针置于初始值,以确保雅可比矩阵换行
: ?5 s, X4 E8 R8 ^0 } k=0; ~& H6 Q7 u" C
end
" Z3 v" X% D2 q' @! U! G end/ R+ H4 S- R2 A2 Z D
end1 o% i+ k, P* V& X7 [
end+ M( i6 h; p0 c
end
+ P7 B' n) b TJacbi, H$ {" v: n1 P. U! X6 @- v
%求解修正方程,获取节点电压的不平衡量0 b9 T; R7 m! c2 ~ G- G
DetaU=zeros(2*n-2,1);
9 y# d+ i. @4 k6 }4 x0 L% QDetaU=inv(Jacbi)*DetaS;
' N2 I. [4 ~* Q3 y; d- ?. e+ \' eDetaU, Q1 }* `. w' ^6 g# L1 q
%修正节点电压
$ P$ ~- h6 e, S1 Q/ Aj=0;
0 N& i$ `7 }* X& dfor i=1:n %对PQ节点处理8 O7 }# ^# h, r4 A
if B2(i,6)==2
; n$ a1 O9 i: h! Q/ {5 W. H, n3 m4 d j=j+1;& q* [0 k9 Z. s1 r5 Q& T4 w& V
B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);
/ L7 Z% k5 T8 N) Z! O7 P end# z+ y4 D' N, i% w
end
# V# v( S$ Z6 Q% {; }for i=1:n %对PV节点的处理
/ ?6 c7 W4 B [4 D5 ? if B2(i,6)==3
9 i" I2 z1 X# ]: T j=j+1;
) I8 u7 F' Q" l, w2 b3 B B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);4 | } V2 U3 x) `
end$ |0 d# P2 _8 D1 d/ x. w# ?
end8 o3 F( X8 d' `( u
B2: C# x6 e7 n: D7 C% O3 t) e y
%开始循环**********************************************************************9 i/ `# q" X4 Z. v3 \6 e `! K* b
while abs(max(DetaU))>pr
1 H8 u. r: K0 i- j) zOrgS=zeros(2*n-2,1); %!!!初始功率参数在迭代过程中是不累加的,所以在这里必须将其初始化为零矩阵" \, ?1 f4 Z- R+ c( v
h=0;
8 q* U0 X, y# fj=0;
5 l. \# B. S& M0 @4 Kfor i=1:n7 m6 R! @: k4 N2 a( M v9 T
if i~=isb&B2(i,6)==2
( m+ d$ C0 L+ `7 {. m h=h+1;; } T7 [1 E% S& H2 ^* A
for j=1:n ~/ [- c! B) d! `+ l8 q
OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));
# t0 Q( f7 f( z4 m: r OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));6 T' S1 t4 o- b* `$ K8 o9 ?1 a# Q
end3 m& Y1 R. X- ^# |7 s8 }
end
& @! z7 m! l( v& T! M# w: A- ]end
- q; d8 `' [7 H5 e6 y1 Afor i=1:n. j- N _ X8 z8 H
if i~=isb&B2(i,6)==3, a) D3 I# ?0 e6 p* u* ~9 [
h=h+1;# j3 U. W! W# S
for j=1:n
3 b. I9 L" d. E9 P OrgS(2*h-1,1)=OrgS(2*h-1,1)+real(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))+imag(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));
0 v" m. g4 b1 R! j- q OrgS(2*h,1)=OrgS(2*h,1)+imag(B2(i,3))*(real(Y(i,j))*real(B2(j,3))-imag(Y(i,j))*imag(B2(j,3)))-real(B2(i,3))*(real(Y(i,j))*imag(B2(j,3))+imag(Y(i,j))*real(B2(j,3)));
5 p" m) E, ~8 M- H% T end
1 }; y, b# ?0 ]& X end. N" N% a, ~5 l9 F2 e* c
end
' ^' `0 G/ v. g BOrgS0 o7 s2 F. F9 j' ?$ }, h2 ~5 g
%创建DetaS) ~ b. ^" V. D0 X3 D3 N
h=0;
8 c( G3 i. v" nfor i=1:n, w- E6 l( N' B; W3 s
if i~=isb&B2(i,6)==2
% C5 K) C: h. U3 O" O8 q h=h+1;
$ p) |' b& `! { DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);1 \8 x' u6 h1 V; X3 z6 m, r
DetaS(2*h,1)=imag(B2(i,2))-OrgS(2*h,1);
* x+ ~4 h8 b) o% U1 s: b9 | end% `0 M2 E+ b+ p6 q9 [
end
( B$ Q- P$ h, N/ i3 D! bt=0;
) z! B+ X# |! ~2 o0 @/ ~0 Rfor i=1:n
4 p! L8 l+ n- D if i~=isb&B2(i,6)==3
8 p! L* m# D9 g# q3 u5 d2 ~- ^ h=h+1;! O; O3 a) L4 `4 o- v
t=t+1; W; ~. B! W9 F+ k& r
DetaS(2*h-1,1)=real(B2(i,2))-OrgS(2*h-1,1);' s9 J# e* e0 v, t f
DetaS(2*h,1)=real(PVU(t,1))^2+imag(PVU(t,1))^2-real(B2(i,3))^2-imag(B2(i,3))^2;( u9 L: v5 r2 A& w# n. [& `* T
end
& E' R3 S5 f2 i$ F* I$ @end$ M" y) c* f8 b- r
DetaS: \4 Z! n% U) A5 d+ n
%创建I# w, E" l+ d3 H$ `
i=zeros(n-1,1);- c, \$ w' {8 S& Q( o$ k* E
h=0;" K# K2 e% I5 B4 b7 l5 u6 v
for i=1:n& b- L9 q1 X( V; [* P( x
if i~=isb
! Q: w {6 i7 ^ h=h+1;
4 N* l5 @* u! u. ?, c4 E5 P I(h,1)=(OrgS(2*h-1,1)-OrgS(2*h,1)*sqrt(-1))/conj(B2(i,3));
! k$ | d& ?( v9 E0 t2 u) f& z0 { end
% k0 r6 f# R) I8 Jend
8 t2 ?+ R7 g% O6 Q& |% j# wI% p* @5 T- g) m# C9 _6 E: o- W4 J
%创建Jacbi
3 o8 M# C# a0 ~6 M2 |Jacbi=zeros(2*n-2);
/ T# D6 P) I: f& H! \- s& Z+ eh=0;) G6 F% q+ W# O! q1 n
k=0;0 H. }; D4 F4 q1 G: J
for i=1:n
# A2 a0 J" O& _, h5 u5 }) b0 e* w if B2(i,6)==2
0 G8 j4 P! L+ i: ]9 U8 T h=h+1;
0 h, d+ W0 ~: g$ [9 u+ s for j=1:n! |4 m5 ~6 P: v* Q. {* h0 c( g
if j~=isb
/ r9 x" j8 v+ L; Z W% B k=k+1;
* r+ Q5 C% f" V- ] if i==j2 g4 s3 O! _1 G* D( j
Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));3 x {+ D. }, ~' O- U
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));
+ }7 g; ^! M0 Z$ T Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k)+2*real(I(h,1));. c( D) \- ^ u; @8 G1 i
Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1)-2*imag(I(h,1));
- q5 \& `7 |1 P# b( n% Q. e* B else
$ F+ c& Q8 f' i Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3));* X: _! W5 {( l: V9 X/ ^7 U
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));8 g' Y r2 f: m% _/ X* v9 m1 P
Jacbi(2*h,2*k-1)=-Jacbi(2*h-1,2*k);8 {. t0 s4 j6 G+ l7 \8 Y& A- o
Jacbi(2*h,2*k)=Jacbi(2*h-1,2*k-1);: R+ j- Y6 z3 {3 m
end5 G9 i& S- U! R3 P0 H
if k==(n-1)
& o1 D8 W8 S7 A4 h5 w, h7 ? k=0;' U" E0 \! I& _, r
end+ D5 X7 l$ N: h
end. g( a% B: ]% W' X( q, V! F
end
" Q# [# {2 U% [0 ^+ w1 o9 \9 A end
- J' ?0 L t- t3 a1 |1 Yend% \0 j0 S8 C7 Z O# [$ L
k=0;, ~* U" {$ o7 d k# ^5 S
for i=1:n
. E2 Q( }, a! @( y8 X if B2(i,6)==3/ f. s* e/ w8 L1 [( E
h=h+1;
- t4 m" }( m' e8 C* H4 U. x+ A for j=1:n% I5 \6 N O9 g6 l& k
if j~=isb; e5 z! ?% O5 e2 ?: b& L* a8 S
k=k+1;( L+ r, l I& J6 r
if i==j/ H! _3 c) }) C
Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3))+imag(I(h,1));, {# `0 Q* ~, A/ M9 B$ Y3 c. `
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3))+real(I(h,1));; Z' h8 U- ?& L) N7 M9 g
Jacbi(2*h,2*k-1)=2*imag(B2(i,3));
3 G, \# V6 V! u7 a# w* a6 J2 Y Jacbi(2*h,2*k)=2*real(B2(i,3));6 Q" X) f! o/ t; v; g
else3 r1 F a `9 K$ O* N% ?6 h/ v" W
Jacbi(2*h-1,2*k-1)=-imag(Y(i,j))*real(B2(i,3))+real(Y(i,j))*imag(B2(i,3)); y8 Z$ _: ~8 Z5 ^1 }
Jacbi(2*h-1,2*k)=real(Y(i,j))*real(B2(i,3))+imag(Y(i,j))*imag(B2(i,3));8 O) B$ J5 E. R3 Y
Jacbi(2*h,2*k-1)=0;
7 u( g* F. a6 k/ b: {5 p Jacbi(2*h,2*k)=0;
* ~, x, C" U/ x% V4 J- \ ^ end
a1 c& \8 j3 B1 _ if k==(n-1)
8 h1 a6 m1 j9 b; f' i* Z2 ~- ] k=0;
9 u' g/ l/ o2 T! u- H end; U( [8 o( v, H3 J: [, K
end8 H5 Q2 x6 S% ~# I
end1 S5 a. q# f7 n8 X
end
5 h4 p- G6 ~# Zend, k/ h' c/ A w
Jacbi7 r% Q2 h( _" Z
DetaU=zeros(2*n-2,1);- L: }2 g! Q z+ e
DetaU=inv(Jacbi)*DetaS;
3 |" i% @6 W; J, [DetaU: T) s8 X% f! F: T3 s
%修正节点电压 ~) k% R1 N, t& r
j=0;% I+ z: ?* @- J9 q' I% Z! b4 e
for i=1:n- s x9 ~3 G3 n) r0 g7 H |
if B2(i,6)==2
; v0 w: x! A2 V5 f& A j=j+1;# d8 x% P3 ~) Q0 K3 q- ^3 e$ g
B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);) |2 f2 d) E0 ]6 l
end7 x9 j' H0 K. H% C
end9 Q# X# B$ V! P! C6 W7 L
for i=1:n
( b, X. H( E) _6 J; y; g if B2(i,6)==3
5 q" I; m, S; H' c% G j=j+1;( _. V# }7 ~8 _
B2(i,3)=B2(i,3)+DetaU(2*j,1)+DetaU(2*j-1,1)*sqrt(-1);& \: t+ R; O4 a& v
end
, s) F0 T0 @4 Xend
0 P; }. a: x4 A# O/ g/ s+ EB2) `9 B( g( t3 o7 u* X. y
Times=Times+1; %迭代次数加1
" ]/ Z* c9 L/ z+ F% `end! }8 Z. q- K8 A. q
Times
( v' `. \' ?1 l+ u' q; n: F( D t! `7 n! @/ g
一个原始数据的例子
* P" }( o5 P, n4 R; A8 c5 [8 ~8 Z节点数 5
! p) K! f9 m2 y支路数 52 L/ J0 {- X0 `; l7 \/ P
平衡节点编号 5( g5 ^' W# i2 |- U6 ^% f9 ?: n8 q
精度pr 0.000001
" @( | A* p5 \" n6 \B1(支路参数矩阵)
; }# v* a# p$ `* Y ^: [- Z! p[1 2 0.04+0.25i 0.5i 1 0;1 3 0.1+0.35i 0 1 0;2 3 0.08+0.30i 0.5i 1 0;4 2 0.015i 0 1.05 1;5 3 0.03i 0 1.05 1]
) {2 H) {5 m1 j uB2(节点参数矩阵)1 M4 Z g1 ?* K4 m
[0 -1.6-0.8i 1 0 0 2;0 -2-1i 1 0 0 2;0 -3.7-1.3i 1 0 0 2;0 5+0i 1.05 1.05 0 3;0 0 1.05 1.05 0 1]2 P9 a6 L j1 I* n- X3 D, S' y$ D B
X(节点号和对地参数)
) g; @' q+ w# g/ _: Q( }9 k1 \[1 0;2 0;3 0;4 0;5 0] |