收敛了
原因是Mat_G=FormG(SEVmf1,SEPD,SEQD,Loadi);写成了Mat_G=FormG(SEVaf1,SEPD,SEQD); Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
6c6b8f19fb
commit
e8e988ad20
|
|
@ -1,4 +1,4 @@
|
|||
function [deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX1(XX,ContrlCount,RestraintCount,Busnum)
|
||||
function [deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX(XX,ContrlCount,RestraintCount,Busnum)
|
||||
deltX=XX(1:ContrlCount);
|
||||
k1=ContrlCount+2*Busnum;
|
||||
deltY=XX(ContrlCount+1:k1);
|
||||
|
|
@ -12,6 +12,5 @@ k2=k1;
|
|||
k1=k2+RestraintCount;
|
||||
deltL=XX(k2+1:k1);
|
||||
k2=k1;
|
||||
k1=k2+RestraintCount;
|
||||
deltU=XX(k2+1:k1);
|
||||
deltU=XX(k2+1:end);
|
||||
end
|
||||
|
|
@ -3,7 +3,7 @@ tdeltLinx=find(deltL<0);
|
|||
tdeltUinx=find(deltU<0);
|
||||
t1=-Init_L(tdeltLinx)./deltL(tdeltLinx);
|
||||
t2=-Init_U(tdeltUinx)./deltU(tdeltUinx);
|
||||
t3=[t1,t2];
|
||||
t3=[t1;t2];
|
||||
t4=min(t3);
|
||||
AlphaP=0.9995*min([t4 1]);
|
||||
end
|
||||
6
FormG.m
6
FormG.m
|
|
@ -1,7 +1,7 @@
|
|||
function Mat_G=FormG(Volt,PD,QD)
|
||||
function Mat_G=FormG(Volt,PD,QD,Loadi)
|
||||
Mat_G=[
|
||||
sparse(PD);
|
||||
sparse(QD);
|
||||
PD(Loadi);
|
||||
QD(Loadi);
|
||||
Volt;
|
||||
];
|
||||
end
|
||||
6
FormLw.m
6
FormLw.m
|
|
@ -1,7 +1,7 @@
|
|||
function Lw=FormLw(Mat_G,Init_U,Busnum,Loadi)
|
||||
VoltU=sparse(1.1*ones(Busnum,1));
|
||||
PDU=sparse(1.5*ones(length(Loadi),1));
|
||||
QDU=sparse(1.5*ones(length(Loadi),1));
|
||||
VoltU=sparse(1.2*ones(Busnum,1));
|
||||
PDU=sparse(2*ones(length(Loadi),1));
|
||||
QDU=sparse(2*ones(length(Loadi),1));
|
||||
t1=[PDU;
|
||||
QDU;
|
||||
VoltU];
|
||||
|
|
|
|||
6
FormLz.m
6
FormLz.m
|
|
@ -1,7 +1,7 @@
|
|||
function Lz=FormLz(Mat_G,Init_L,Busnum,Loadi)
|
||||
VoltL=sparse(0.9*ones(Busnum,1));
|
||||
PDL=sparse(0*ones(length(Loadi),1));
|
||||
QDL=sparse(0*ones(length(Loadi),1));
|
||||
VoltL=sparse(0.8*ones(Busnum,1));
|
||||
PDL=sparse(-2*ones(length(Loadi),1));
|
||||
QDL=sparse(-2*ones(length(Loadi),1));
|
||||
t1=[PDL;
|
||||
QDL;
|
||||
VoltL
|
||||
|
|
|
|||
|
|
@ -2,4 +2,5 @@ function deltdeltF=func_deltdeltF(SEPD,ContrlCount)
|
|||
deltdeltF=[
|
||||
0*zeros(ContrlCount);
|
||||
];
|
||||
deltdeltF=0;
|
||||
end
|
||||
15
run.m
15
run.m
|
|
@ -171,6 +171,7 @@ fprintf('
|
|||
% VoltpC=Vp3m(3:3:end).*exp(1j*Vp3a(3:3:end));
|
||||
%% 用牛顿法求解end
|
||||
%% 开始进入状态估计
|
||||
clear PD QD PG QG;
|
||||
%状态量
|
||||
SEVoltpA=sparse(ones(busNum,1));
|
||||
SEVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
|
|
@ -184,8 +185,8 @@ SEphaseCSpotLoadQ=zeros(length(phaseCSpotLoadQ),1);
|
|||
%
|
||||
SEVmf1=sparse(ones(busNum,1));
|
||||
SEVaf1=sparse(zeros(busNum,1));
|
||||
SEPD=sparse(length(Loadi),1);
|
||||
SEQD=sparse(length(Loadi),1);
|
||||
SEPD=sparse(zeros(busNum,1));
|
||||
SEQD=sparse(zeros(busNum,1));
|
||||
KK=0;
|
||||
plotGap=zeros(1,60);
|
||||
%初始化
|
||||
|
|
@ -201,9 +202,11 @@ Init_Y=sparse(2*busNum,1);%
|
|||
Gap=(Init_L'*Init_Z-Init_U'*Init_W);
|
||||
PG=sparse(busNum,1);
|
||||
PG(Balance)=0.1105;
|
||||
QD=sparse(busNum,1);
|
||||
QG=sparse(busNum,1);
|
||||
QG(Balance)=0.0984;
|
||||
while Gap>1e-5 && KK<60
|
||||
SEPD(2)=0.1105;
|
||||
SEQD(2)=0.0984;
|
||||
while Gap>1e-5 && KK<20
|
||||
KK=KK+1;
|
||||
Init_u=Gap/2/RestraintCount*CenterA;
|
||||
deltH=func_deltH(busNum,SEVmf1,fsY1amp,SEVaf1,r,c,fsY1ang,Loadi);
|
||||
|
|
@ -216,7 +219,7 @@ while Gap>1e-5 && KK<60
|
|||
deltF=func_deltF(SEPD,ContrlCount);
|
||||
Luu=Init_U.*Init_W+Init_u*ones(RestraintCount,1);
|
||||
Lul=Init_L.*Init_Z-Init_u*ones(RestraintCount,1);
|
||||
Mat_G=FormG(SEVaf1,SEPD,SEQD);
|
||||
Mat_G=FormG(SEVmf1,SEPD,SEQD,Loadi);
|
||||
Mat_H=FormH(busNum,SEVmf1,PG,SEPD,QG,SEQD,fsY1amp,SEVaf1,r,c,fsY1ang);
|
||||
Ly=Mat_H;
|
||||
Lz=FormLz(Mat_G,Init_L,busNum,Loadi);
|
||||
|
|
@ -228,6 +231,6 @@ while Gap>1e-5 && KK<60
|
|||
fprintf('迭代次数 %d Gap %f\n',KK,plotGap(KK));
|
||||
XX=SolveIt(deltF,deltG,Init_L,Init_Z,Init_U,Init_W,deltdeltF,ddh,ddg,deltH,Init_Y,Ly,Lz,ContrlCount,Lw,Lul,Luu,Lx,Balance,busNum,Loadi);
|
||||
[deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX(XX,ContrlCount,RestraintCount,busNum);
|
||||
[Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,Volt,UAngel,PD,QD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,SEVmf1,SEVaf1,ContrlCount,Balance,busNum,PD,QD,Loadi);
|
||||
[Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,SEVmf1,SEVaf1,SEPD,SEQD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,SEVmf1,SEVaf1,ContrlCount,Balance,busNum,SEPD,SEQD,Loadi);
|
||||
Gap=(Init_L'*Init_Z-Init_U'*Init_W);
|
||||
end
|
||||
Loading…
Reference in New Issue