From f895e8b96a424059cf92082da99ed4d88d6fcfb8 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 4 Nov 2012 12:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BE=E5=BC=80=E6=89=80=E6=9C=89QD=E6=94=B6?= =?UTF-8?q?=E6=95=9B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: unknown --- FormG.m | 2 +- FormLw.m | 2 +- FormLz.m | 2 +- Modification.m | 6 +++--- OPF.m | 4 ++-- OPF_Init.m | 2 +- SolveIt.m | 4 ++-- func_ddh.m | 2 +- func_deltF.m | 2 +- func_deltG.asv | 12 ++++++------ func_deltG.m | 18 +++++++++--------- func_deltH.m | 2 +- 12 files changed, 29 insertions(+), 29 deletions(-) diff --git a/FormG.m b/FormG.m index 3d39db7..82d9579 100644 --- a/FormG.m +++ b/FormG.m @@ -4,7 +4,7 @@ Mat_G=[ PG(PGi); QG(PVi); sparse(PD(Loadi)); - sparse(QD(Loadi(1))); + sparse(QD(Loadi)); Volt'; ]; end \ No newline at end of file diff --git a/FormLw.m b/FormLw.m index cb73b0b..86e4298 100644 --- a/FormLw.m +++ b/FormLw.m @@ -9,7 +9,7 @@ PDU(PDU>0)=1.200*PDU(PDU>0); PDU(PDU<0)=0.800*PDU(PDU<0); PDU(PDU==0)=0.400; %PDU=10*ones(length(Loadi),1); -QDU=QD0(Loadi(1)); +QDU=QD0(Loadi); QDU(QDU>0)=1.200*QDU(QDU>0); QDU(QDU<0)=0.800*QDU(QDU<0); QDU(QDU==0)=0.200; diff --git a/FormLz.m b/FormLz.m index 2470ae0..cda108f 100644 --- a/FormLz.m +++ b/FormLz.m @@ -9,7 +9,7 @@ PDL(PDL>0)=0.800*PDL(PDL>0); PDL(PDL<0)=1.200*PDL(PDL<0); PDL(PDL==0)=-0.400; %PDL=-10*ones(length(Loadi),1); -QDL=QD0(Loadi(1)); +QDL=QD0(Loadi); QDL(QDL>0)=0.800*QDL(QDL>0); QDL(QDL<0)=1.200*QDL(QDL<0); QDL(QDL==0)=-0.200; diff --git a/Modification.m b/Modification.m index b14342f..2830009 100644 --- a/Modification.m +++ b/Modification.m @@ -13,10 +13,10 @@ Init_Y=Init_Y+AlphaD*deltY'; PG(PGi)=PG(PGi)+AlphaP*deltX(1:size(PGi,1)); %QG(PVi)=QG(PVi)+deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) ); QG(PVi)=QG(PVi)+AlphaP*deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) ); -t=deltX(size(PVi,1)+size(PGi,1)+1:size(PVi,1)+size(PGi,1)+size(Loadi,1)*1+1); +t=deltX(size(PVi,1)+size(PGi,1)+1:size(PVi,1)+size(PGi,1)+size(Loadi,1)*2); PD(Loadi)=PD(Loadi)+AlphaP*t(1:length(Loadi)); -QD(Loadi(1))=QD(Loadi(1))+AlphaP*t(length(Loadi)+1:length(Loadi)+1); -t=deltX(size(PVi,1)+size(PGi,1)+size(Loadi,1)*1+2:ContrlCount)'; +QD(Loadi)=QD(Loadi)+AlphaP*t(length(Loadi)+1:length(Loadi)*2); +t=deltX(size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+1:ContrlCount)'; t(Busnum+Balance)=0; %Volt=Volt+AlphaP*t(2:2:2*Busnum);暂时改一下20111227 %UAngel=UAngel+AlphaP*t(1:2:2*Busnum);暂时改一下20111227 diff --git a/OPF.m b/OPF.m index fd50117..7234876 100644 --- a/OPF.m +++ b/OPF.m @@ -2,7 +2,7 @@ tic clc clear [kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ... -pf('ieee3001.dat'); +pf('ieee10471.dat'); %pf('D:\Project\青秀降损项目\最小化潮流\最小潮流算例\原始\津头站津视922(3-1)_0.5_120%.txt'); %pf('D:\Project\最小化潮流\最小潮流算例\仙海919.txt'); %pf('c:/file31.txt'); @@ -31,7 +31,7 @@ QG0(Balance)=QGBal(Balance); Gap=(Init_L*Init_Z'-Init_U*Init_W'); KK=0; plotGap=zeros(1,60); -ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*1+Busnum*2+1; +ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*2; kmax=60; %% 20120523 临时 QD_NON_ZERO=QD(PD==0 & QD~=0); diff --git a/OPF_Init.m b/OPF_Init.m index 47cca75..cdacdf9 100644 --- a/OPF_Init.m +++ b/OPF_Init.m @@ -1,7 +1,7 @@ function [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wD,PD,PD0,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD) Loadi=find(QD~=0 | PD~=0); %Loadi=[1:Busnum]'; -RestraintCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*1+Busnum*1+1; %约束条件数,只放开一个QD +RestraintCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*1; %约束条件数,放开所有QD t_Bal_volt=Volt(Balance); Volt=sparse(1*ones(1,Busnum)); Volt(Balance)=t_Bal_volt; diff --git a/SolveIt.m b/SolveIt.m index f33ff9b..fa183b3 100644 --- a/SolveIt.m +++ b/SolveIt.m @@ -10,14 +10,14 @@ aa=[ ]; yy=[LxComa;-Ly]; %% 平衡节点电压不变 -t=size(PVi,1)+size(PGi,1)+size(Loadi,1)+1; +t=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2; aa(t+Balance,:)=0; aa(:,t+Balance)=0; %aa(t+Balance,t+Balance)=1; aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum); deltG(t+Balance,:)=0; %% -t=size(PVi,1)+size(PGi,1)+size(Loadi,1)+1+Busnum*1; +t=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*1; aa(t+Balance,:)=0; aa(:,t+Balance)=0; %aa(t+Balance,t+Balance)=1; diff --git a/func_ddh.m b/func_ddh.m index 5c3a7d3..8403554 100644 --- a/func_ddh.m +++ b/func_ddh.m @@ -50,7 +50,7 @@ t=[ddPdVdV+ddQdVdV,ddPdVdT+ddQdVdT; ]; sizePGi=size(PGi,1); sizePVi=size(PVi,1); -sizeLoadi=size(Loadi,1)*1+1; +sizeLoadi=size(Loadi,1)*2; ddh=[ sparse(sizePGi+sizePVi+sizeLoadi,ContrlCount); sparse(2*Busnum,sizePVi+sizePGi+sizeLoadi),-t; diff --git a/func_deltF.m b/func_deltF.m index c145a8f..e579389 100644 --- a/func_deltF.m +++ b/func_deltF.m @@ -7,7 +7,7 @@ deltF=[ sparse(t1); sparse(t2); sparse(t3); - sparse(length(Loadi(1)),1); + sparse(length(Loadi),1); sparse(2*Busnum,1); ]; diff --git a/func_deltG.asv b/func_deltG.asv index 5c44e8c..65b99ed 100644 --- a/func_deltG.asv +++ b/func_deltG.asv @@ -7,19 +7,19 @@ sizeLoadi=size(Loadi,1); dg1_dPg=sparse(1:sizePGi,1:sizePGi,ones(sizePGi,1),sizePGi,sizePGi); dg2_dPg=sparse(sizePGi,sizePVi); dg3_dPg=sparse(sizePGi,sizeLoadi); -dg4_dPg=sparse(sizePGi,sizeLoadi); +dg4_dPg=sparse(sizePGi,length(Loadi)); dg5_dPg=sparse(sizePGi,Busnum); %% dg1_dQr=sparse(sizePVi,sizePGi); dg2_dQr=sparse(1:sizePVi,1:sizePVi,ones(sizePVi,1),sizePVi,sizePVi); dg3_dQr=sparse(sizePVi,sizeLoadi); -dg4_dQr=sparse(sizePVi,sizeLoadi); +dg4_dQr=sparse(sizePVi,1); dg5_dQr=sparse(sizePVi,Busnum); %% dg1_dPD=sparse(size(Loadi,1),size(PGi,1)); dg2_dPD=sparse(size(Loadi,1),size(PVi,1)); dg3_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); -dg4_dPD=sparse(size(Loadi,1),sizeLoadi); +dg4_dPD=sparse(size(Loadi,1),1); dg5_dPD=sparse(size(Loadi,1),Busnum); %% dg1_dQD=sparse(size(Loadi(1),1),size(PGi,1)); @@ -32,7 +32,7 @@ dg5_dQD=sparse(size(Loadi(1),1),Busnum); dg1_dx=sparse(2*Busnum,sizePGi); dg2_dx=sparse(2*Busnum,sizePVi); dg3_dx=sparse(2*Busnum,sizeLoadi); -dg4_dx=sparse(2*Busnum,sizeLoadi); +dg4_dx=sparse(2*Busnum,1); dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum); sparse(Busnum,Busnum); ]; @@ -40,7 +40,7 @@ dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum); deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg,dg5_dPg; dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr,dg5_dQr; dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD,dg5_dPD; - dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD,dg5_dQD,dg6_dQD; - dg1_dx,dg2_dx,dg3_dx,dg4_dx,dg5_dx,dg6_dx; + dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD,dg5_dQD; + dg1_dx,dg2_dx,dg3_dx,dg4_dx,dg5_dx; ]; end \ No newline at end of file diff --git a/func_deltG.m b/func_deltG.m index 2bcdc40..041efc9 100644 --- a/func_deltG.m +++ b/func_deltG.m @@ -7,32 +7,32 @@ sizeLoadi=size(Loadi,1); dg1_dPg=sparse(1:sizePGi,1:sizePGi,ones(sizePGi,1),sizePGi,sizePGi); dg2_dPg=sparse(sizePGi,sizePVi); dg3_dPg=sparse(sizePGi,sizeLoadi); -dg4_dPg=sparse(sizePGi,1); +dg4_dPg=sparse(sizePGi,length(Loadi)); dg5_dPg=sparse(sizePGi,Busnum); %% dg1_dQr=sparse(sizePVi,sizePGi); dg2_dQr=sparse(1:sizePVi,1:sizePVi,ones(sizePVi,1),sizePVi,sizePVi); dg3_dQr=sparse(sizePVi,sizeLoadi); -dg4_dQr=sparse(sizePVi,1); +dg4_dQr=sparse(sizePVi,length(Loadi)); dg5_dQr=sparse(sizePVi,Busnum); %% dg1_dPD=sparse(size(Loadi,1),size(PGi,1)); dg2_dPD=sparse(size(Loadi,1),size(PVi,1)); dg3_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); -dg4_dPD=sparse(size(Loadi,1),1); +dg4_dPD=sparse(size(Loadi,1),length(Loadi)); dg5_dPD=sparse(size(Loadi,1),Busnum); %% -dg1_dQD=sparse(size(Loadi(1),1),size(PGi,1)); -dg2_dQD=sparse(size(Loadi(1),1),size(PVi,1)); -dg3_dQD=sparse(length(Loadi(1)),length(Loadi)); -dg4_dQD=sparse(1:size(Loadi(1),1),1:size(Loadi(1),1),ones(size(Loadi(1),1),1),size(Loadi(1),1),size(Loadi(1),1)); -dg5_dQD=sparse(size(Loadi(1),1),Busnum); +dg1_dQD=sparse(size(Loadi,1),size(PGi,1)); +dg2_dQD=sparse(size(Loadi,1),size(PVi,1)); +dg3_dQD=sparse(length(Loadi),length(Loadi)); +dg4_dQD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); +dg5_dQD=sparse(size(Loadi,1),Busnum); %% dg1_dx=sparse(2*Busnum,sizePGi); dg2_dx=sparse(2*Busnum,sizePVi); dg3_dx=sparse(2*Busnum,sizeLoadi); -dg4_dx=sparse(2*Busnum,1); +dg4_dx=sparse(2*Busnum,length(Loadi)); dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum); sparse(Busnum,Busnum); ]; diff --git a/func_deltH.m b/func_deltH.m index a560b14..3c0fb7e 100644 --- a/func_deltH.m +++ b/func_deltH.m @@ -3,7 +3,7 @@ function deltH=func_deltH(Busnum,Volt,PVi,Y,PGi,UAngel,r,c,Angle,Loadi) dH_dPg=sparse(1:size(PGi,1),PGi,ones(size(PGi,1),1),size(PGi,1),2*Busnum); dH_dQr=sparse(1:size(PVi,1),PVi+Busnum,ones(size(PVi,1),1),size(PVi,1),2*Busnum); dH_dPD=[sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum) sparse(size(Loadi,1),Busnum)]; -dH_dQD=[sparse(size(Loadi(1),1),Busnum) sparse(1:size(Loadi(1),1),Loadi(1),-ones(size(Loadi(1),1),1),size(Loadi(1),1),Busnum)]; +dH_dQD=[sparse(size(Loadi,1),Busnum) sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum)]; dH_dx = jacobian_M(Busnum,Volt,Y,Angle,UAngel,r,c); %形成雅克比矩阵 deltH=[dH_dPg;dH_dQr;dH_dPD;dH_dQD;dH_dx'];