From 53a68dbba22ae7e181faee8b2f89142d08f0f729 Mon Sep 17 00:00:00 2001 From: "facat@lab.com" Date: Mon, 3 Nov 2014 17:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=E7=94=B5=E5=8E=8B=E5=8A=A0=E5=88=B0?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E5=87=BD=E6=95=B0=E4=B8=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: facat@lab.com --- OPF.m | 8 ++++---- func_deltF.m | 6 ++++-- func_deltdeltF.m | 7 +++++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/OPF.m b/OPF.m index 367410a..c63fc32 100644 --- a/OPF.m +++ b/OPF.m @@ -94,8 +94,6 @@ while(k<=kmax && maxD> EPS) If0=conj(f012(1,:)'); If1=conj(f012(2,:)'); If2=conj(f012(3,:)'); - - If0(Balance)=0; If2(Balance)=0; %Vf0=fsY0\If0; @@ -171,8 +169,10 @@ Vp3a((Balance-1)*3+1)=0; Vp3a((Balance-1)*3+2)=-120/180*pi; Vp3a((Balance-1)*3+3)=+120/180*pi; Loadi=PQi3P; +wVolt=ones(busNum*3,1); wPD=ones(length(Loadi),1); wQD=ones(length(Loadi),1); +mVolt=Vp3m; PD0=PD3P; QD0=QD3P; %% @@ -207,7 +207,7 @@ while(abs(Gap)>Precision) L_1Z=diag(Init_Z./Init_L); U_1W=diag(Init_W./Init_U); %% 形成海森阵 - deltdeltF=func_deltdeltF(wPD,wQD,ContrlCount); + deltdeltF=func_deltdeltF(wVolt,wPD,wQD,ContrlCount); % deltdeltF=0; %% 形成ddHy ddh=func_ddh(Volt,Init_Y,Busnum,Y,UAngel,r,c,Yangle,Loadi,ContrlCount); @@ -215,7 +215,7 @@ while(abs(Gap)>Precision) % ddg=func_ddg(PGi,PVi,Busnum,RestraintCount,Loadi,PD,QD); ddg=0; %% 开始构建deltF - deltF=func_deltF(wPD,wQD,PD0,PD3P,QD3P,QD0,Busnum,Loadi); + deltF=func_deltF(wVolt,wPD,wQD,PD0,PD3P,QD3P,QD0,Volt,mVolt,Busnum,Loadi); % deltF=0; %% 形成方程矩阵 Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1); diff --git a/func_deltF.m b/func_deltF.m index d1ba14d..b63fc10 100644 --- a/func_deltF.m +++ b/func_deltF.m @@ -1,9 +1,11 @@ -function deltF=func_deltF(wPD,wQD,PD0,PD,QD,QD0,Busnum,Loadi) +function deltF=func_deltF(wVolt,wPD,wQD,PD0,PD,QD,QD0,Volt,mVolt,Busnum,Loadi) t3=2*wPD.*(PD(Loadi)-PD0(Loadi)); t4=2*wQD.*(QD(Loadi)-QD0(Loadi)); +t5=2*wVolt.*(Volt-mVolt); deltF=[sparse(t3); sparse(t4); - sparse(2*Busnum*3,1); + sparse(t5); + sparse(1*Busnum*3,1); ]; end \ No newline at end of file diff --git a/func_deltdeltF.m b/func_deltdeltF.m index 2714415..77f6b9c 100644 --- a/func_deltdeltF.m +++ b/func_deltdeltF.m @@ -1,11 +1,14 @@ -function deltdeltF=func_deltdeltF(wPD,wQD,ContrlCount) +function deltdeltF=func_deltdeltF(wVolt,wPD,wQD,ContrlCount) %ContrlCount=size(PVi,1)+size(PGi,1)+size(wD,1)+Busnum*2; %P,Q,Volt theta这些控制变量数 C=[wPD' wQD']; +CVolt=wVolt; sizeC=size(C,2); diagC=sparse(1:sizeC,1:sizeC,C,sizeC,sizeC); deltdeltF=[ diagC*2,sparse(sizeC,ContrlCount-sizeC); - sparse(ContrlCount-sizeC,ContrlCount); + %sparse(ContrlCount-sizeC,ContrlCount); + diag(CVolt)*2,sparse(length(CVolt),ContrlCount-length(CVolt)); + sparse(length(CVolt),ContrlCount); ]; end \ No newline at end of file