|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
clc;3 a% ~( I7 B0 y- ]# z5 [
clear;
! n# h7 i4 x8 Y, d, f: Ztic;' K8 E: i- R: I5 o+ k: l! J3 m2 d
filename=uigetfile('*.*');2 d4 U" w0 g, A- V0 _& @% |
a=textread(filename,'','delimiter',',','emptyvalue',0);%读取TXT文件
1 R6 u' o6 c5 W; B2 U c=a(1,:); %平衡节点行数
$ G6 E+ g# S* |& \3 c- W* f, v n=a(1,1); %节点数8 b( U i! y N N/ G A
b=find(a(:,1)==0);
( N- _! S6 a0 | line=b(2)-b(1)-1; %线路共有行数# y4 B- O$ ~# q
knum=b(1)+line; %线路结束行数
/ @# K* Q9 G) P, {7 B; W* b lineblock=a(b(1)+1:knum,:); %线路的参数0 }9 T* e6 |; x* C" t
lineNo=lineblock(1:line,1);
# t, w4 c+ N. w$ N+ r+ f linei=lineblock(1:line,2);6 P: v2 S3 b4 Z0 J& t/ a e7 b
linej=lineblock(1:line,3);. ]1 c6 y# {+ n H8 ~) g* D" x1 o
liner=lineblock(1:line,4);
* Y! I+ P# [* ^5 v3 b3 ]( n2 h linex=lineblock(1:line,5);
/ F( F! R0 m0 U lineb=lineblock(1:line,6);9 n! b* K2 \* B: {9 I8 p9 f
trans=b(3)-b(2)-1; %变压器共有行数
$ D$ U5 Z" w0 j/ h( r9 V- M Y k1=b(2)+1; %变压器开始行数 6 t% l5 y e% `+ I1 G
k2=b(2)+trans; %结束行数# j- d* ~; `1 A
transblock=a(k1:k2,:); %变压器的参数0 ]1 p V2 E V, a! L; \. Q, L0 i
transNo=transblock(1:trans,1); 4 \& A7 _7 L4 ^% v% b
transi=transblock(1:trans,2);
6 p0 H' b% j& o# Q. S transj=transblock(1:trans,3);4 [; P$ ]& H- k
transr=transblock(1:trans,4);
; g$ D6 j. s4 k4 {, z transx=transblock(1:trans,5);: p; ]# A. M# k3 M9 U
transk=transblock(1:trans,6);
, p' b- @1 u$ w' _- }/ T3 P# p2 B branch=b(4)-b(3)-1; %接地支路共有行数
+ J' C9 y+ {5 {1 w- Y# s7 s8 v k3=b(3)+1; %接地支路开始行数
8 l+ k: `9 o; G/ A; Y k4=b(3)+1+branch; %结束行数
p, T! r/ j8 K* q, i branchblock=a(k3:k4,:); %接地支路参数- C! f5 ^7 U {! I& I8 B: Q9 b
branchNo=branchblock(1:branch,1);& c3 g; ]/ X, t3 K h
branchi=branchblock(1:branch,2);
2 A# \3 n( f. { branchg=branchblock(1:branch,3);5 {5 W, ]1 T; n P" u
branchb=branchblock(1:branch,4);* {7 q% O" W. f* r; y- Q% v3 Q
power=b(5)-b(4)-1; %节点功率共有行数4 K) v4 ]; r9 g$ v5 K7 A& x3 W7 s
k5=b(4)+1; %节点功率开始行数
2 T" M0 i1 |2 T) v* z/ @ k6=b(4)+power; %结束行数
) i$ n! H" T- ?/ b4 k powerblock=a(k5:k6,:); %节点功率参数
% `. h6 k7 _# o, [; ]* `9 }7 b2 Z powerNo=powerblock(1:power,1);
# E5 ? F2 d6 _ PQi=powerblock(1:power,2); %powi7 X' V7 t. i" H9 @( t4 u1 c
PG=powerblock(1:power,3); %powpgi. P$ `- }! T- D9 X7 r: ]
QG=powerblock(1:power,4); %powqgi
& \. e; o) f% d5 T) m* X0 F/ U7 Y PD=powerblock(1:power,5); %powpdi* N. b- ?) N, U- d7 q
QD=powerblock(1:power,6); %powqdi
% l' m+ h/ Z ]9 h% _7 [9 I PV=b(6)-b(5)-1; %PV节点共有行数
4 c' u( t* y! A) i! Q. ^5 S- h( U k7=b(5)+1; %PV节点开始行数
# N: g# I* o: G! @! Q k8=b(5)+PV; %结束行数
5 D4 z6 p0 c, A PVblock=a(k7:k8,:); %PV节点参数
/ i+ {, _9 v5 @9 L PVNo=PVblock(1:PV,1);7 {0 s0 n5 y4 i) \7 I9 m( Z: M/ b* T
PVi=PVblock(1:PV,2);/ V- Z. Q) k- l& e# u6 @3 `
PVV=PVblock(1:PV,3);0 X; \5 [' r5 B- D# {* _
PVqmin=PVblock(1:PV,4);
7 A- v, a" t" ^$ U* z PVqmax=PVblock(1:PV,5);) l3 ^( \# t$ l6 u
clear a;
2 h- F( o# G$ t" v2 C, @& v# V5 [2 N G=zeros(n,n);5 i1 H3 b* K, D
B=zeros(n,n);: _: V# C$ c- Y6 c4 J' L/ U
for k=(1:line); %线路导纳矩阵" f0 @) ]1 s" o( ?! I- a7 q% [
i=linei(k);
4 r: c0 ^0 |, n, x% Z) y& T j=linej(k);& Z) y* n+ p! m. t# f
r=liner(k);
4 u) t7 J) a5 ~ x=linex(k);
@- {3 r$ [. S* q* ?, ~" I# j b=lineb(k);1 r9 ?, Q' G; F" x* i4 y
GIJ=r/(r*r+x*x);6 B6 I W' v9 U. N% u, N: a* [' t
BIJ=-x/(r*r+x*x);2 ]3 ^* X9 u5 l! p& s
G(j,i)=-GIJ;; `) ^. Y) z# y
G(i,j)=-GIJ;
3 E4 O6 M2 k$ O9 w% ?! f4 z4 O* J B(j,i)=-BIJ;
* a! j* l& f- h) Z: c B(i,j)=-BIJ;
3 f9 ]# |# W$ v( V& p! b b=lineb(k);: P7 R9 |8 @) f) I
G(i,i)=G(i,i)+GIJ;; \3 ?/ W: Z( z% [* M% y$ w" f
B(i,i)=B(i,i)+BIJ+b;
, {6 F/ X( G& S. [8 ] G(j,j)=G(j,j)+GIJ;
9 c- Y. @% H9 @2 O2 Y4 ` B(j,j)=B(j,j)+BIJ+b;3 }3 F3 Q J1 v8 G3 Z a
end
( F( X) Y; x9 e6 H" e for k=(1:trans); %变压器导纳矩阵
5 N" j& d8 g; z& b8 ^" {# r) t) w i=transi(k);
* L$ \/ w5 w; ^/ z. u j=transj(k);
- ]& h1 K" B6 y r=transr(k);
( @2 N# [+ i! i6 H& @) y" W x=transx(k);
, ~8 R3 J5 d# L- g; Q& p j=transj(k);2 H% M8 P$ p1 R. Z d0 W
k0=transk(k);6 r7 W, Z0 J: N z1 `# f
GIJ=r/(r*r+x*x);6 P3 X' g+ J B, c: D
BIJ=-x/(r*r+x*x);: D! }. a$ F3 r; B- I# \0 t2 s! c
G(i,j)=-GIJ/k0;
+ j( a4 B0 h$ Y! {$ x" g G(j,i)=G(i,j);
/ |7 a1 I2 b: }+ N s B(i,j)=-BIJ/k0;8 {5 l2 R, Z* b. ]0 c2 \2 g, T
B(j,i)=B(i,j);
# ` ]) }2 f& h% B3 n$ ^& e G(i,i)=G(i,i)+GIJ/k0/k0;) }$ g# a9 W2 E
B(i,i)=B(i,i)+BIJ/k0/k0;; A; P4 Z" j! ^8 T1 @
G(j,j)=G(j,j)+GIJ; k, c5 o" k8 R+ g
B(j,j)=B(j,j)+BIJ;" K* ~) ]- l+ @) v+ f
end
6 U( X" z, H# j8 z' q for k=(1:branch); %接地支路导纳矩阵
' e* y. Y' z5 s0 X i=branchi(k);
: }8 ?+ z3 A$ y, q$ L G(i,i)=G(i,i)+branchg(k);: N- i7 @% Q( ^9 A! q* _
B(i,i)=B(i,i)+branchb(k);/ M/ h. |1 i( K9 z# A& z4 J9 B2 o
end! m& H7 d& k4 R+ C' m; u- B* P
Y=sparse(zeros(n,n));
/ W" A2 b& n% J0 n A=sparse(zeros(n,n));
1 `& q& V w( V1 \: o- Q( _ clear j;5 F4 T5 _. ^, ^; R W- {' U
X=G+j*B;
7 N7 x* m* [$ S1 `$ _0 RX=sparse(X);8 F! C4 C. p5 z3 J, h* ~
Y=(abs(X)); %导纳矩阵完成
' P0 |( Y. B+ J" m4 L1 Q# GA=angle(X); %相角
6 p6 r# L5 ^- d* Tdp=sparse(PQi,1,(PG-PD)./100,n,n); %节点注入有功功率- h8 Q' f6 O' p1 z
dq=sparse(PQi,1,(QG-QD)./100,n,1); %节点注入无功功率
o5 d. M/ _0 @V0=sparse(ones(1,n)'); %节点电压大小初值
: h' Z" V0 {* P+ d9 p4 }VA=sparse(zeros(n,1)); %相角初值
+ T% c2 N) l$ v; F- lV0(c(2))=c(3); %平衡节点电压
+ x! g' ~; B1 p q3 }7 KV0(PVi)=PVV; %pv节点电压
: P& j& M4 A. G" v1 K! i2 kee=1; %精度
- w! f. |: X2 a7 l0 r1 [, lk=1; %迭代次数
- w" r( e$ k" C @2 [/ { while(ee>c(4)&&k<20)
( _6 c2 N5 R5 U* iij=repmat(VA,1,n)-repmat(VA',n,1)-angle(X); %角
9 m8 ]: k& h% XV=V0.*(cos(VA)+j*sin(VA)); %节点电压复数形式
( c5 I; M" d8 c8 S( w8 _delt0=conj(X*V);" I4 ~# h" a) z! O1 N
delt1=V.*delt0; %代入节点电压求出的功率3 s0 M6 Z' j0 O) t$ W2 s: `
deltp=dp-real(delt1); %有功修正量* w" X+ N" ?( ^$ R1 U* e
deltq=dq-imag(delt1); %无功修正量8 O% c2 Q3 V! t# n7 e3 f
deltp(c(2))=0; %有功修正量(处理平衡节点)
6 `, K% ~* E8 a' X% Y5 k/ f- ~) c) ydeltq(c(2))=0; %无功修正量(处理平衡节点)
, K8 F; D/ I! zdeltq(PVi)=0; %无功修正量(处理pv节点)
4 b" y7 E! W& D; `) y+ Bdelt=[deltp;deltq]; %p,q修正量数组
$ m: M- K4 L; `* `% Bh=diag(diag(V0)*(Y.*sin(ij))*V0)-diag(V0)*(Y.*sin(ij))*diag(V0); - O h# o4 j! W! _0 r; m; J
nn=-diag(V0)*(Y.*cos(ij))-diag((Y.*cos(ij))*V0); %n矩阵) i( x1 F) ^ p/ N# ~# c
jj=-diag(diag(V0)*(Y.*cos(ij))*V0)+diag(V0)*(Y.*cos(ij))*diag(V0);
4 [# l# j4 g) t* T' @9 hl=-diag(V0)*(Y.*sin(ij))-diag((Y.*sin(ij))*V0);* c1 V; D/ Z1 l* x" X K
%雅克比矩阵完成
6 s$ X% R7 n+ w# {1 wnn(:,PVi)=0; %处理pv节点 O- ~' W$ P. Z0 I9 P- E7 n# a
jj(PVi,:)=0; %处理pv节点
' V$ ~9 f' V6 c( ?. Ml(PVi,:)=0; %处理pv节点) R. h: d3 p8 V. E. i2 M7 R
l(:,PVi)=0; %处理pv节点5 R: [/ P1 c/ s" M/ u$ ]5 F5 \" S
l=l+sparse(PVi,PVi,1,n,n); %形成l% F' t0 \. l6 {% X, P
ykb=[h nn;jj l]; %初步形成雅可比矩阵
' M4 V9 u1 i/ N/ ~, @$ V! Gykb(c(2),:)=0; %处理平衡节点a
2 q0 j9 s/ L8 I5 k" jykb(:,c(2))=0; %处理平衡节点a
* g1 A% Z3 ]) Y6 U9 Q8 Vykb(c(2),c(2))=1; %处理平衡节点a
; Y* T4 O8 o% w6 kykb(c(2)+n,:)=0; %处理平衡节点v# T+ \( S4 ~* y$ }4 I+ g; W) S" b
ykb(:,c(2)+n)=0; %处理平衡节点v
0 k* _/ d1 C8 ]4 r' Cykb(c(2)+n,c(2)+n)=1; %处理平衡节点v
( Z) E* Z0 @8 h( qjie=ykb\delt;
' P) F" u- d3 L# a, ddelta=jie(1:n); %相角修正量6 {5 B: {* O2 i
deltv=jie((n+1):2*n); %电压大小修正量" o1 L$ _. [1 U7 k2 W- z6 O
VA=VA-delta;
1 f7 T/ v2 R9 ~3 IV0=V0-deltv;
9 V& G" O; D" U9 ^8 U3 Z( pee=max(abs(deltv)): E; h d/ V) S2 V; ^& t+ A
k=k+1;
$ R/ u5 J5 V" _& w end
* K4 V. B0 q6 l. w; cVA=VA.*180./pi %相角
! h4 C5 p8 H9 F* ?9 jV0 %电压幅值" U& m7 ~6 A% x* d4 H. D. E
toc;) M! C S/ S5 R& E# t
求解释,求解答,改了很多次都没用
/ ^: B2 q* l% J( A, {??? Error using ==> minus9 V% p6 y: x3 x6 h
Matrix dimensions must agree.' ]) L7 A% R1 `$ [
Error in ==> liweiming2 at 1222 q0 y. u6 \) @4 [8 [
deltp=dp-real(delt1); %有功修正量 |
|