修复了目标函数求导的错误。
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
5357f5edcf
commit
1c2b53d2b5
|
|
@ -14,12 +14,12 @@ upper(pIi+length(Ir))=1.2*Ii(pIi);
|
|||
upper(nIi+length(Ir))=0.8*Ii(nIi);
|
||||
|
||||
%太小的数都要放宽一些
|
||||
tooSmall=find(abs(Ir)<0.05);
|
||||
tooSmall=find(abs(Ir)<0.0005);
|
||||
% upper(tooSmall)=0.99*abs(Ir(tooSmall));
|
||||
upper(tooSmall)=0.2;
|
||||
tooSmall=find(abs(Ii)<0.05);
|
||||
upper(tooSmall)=0.002;
|
||||
tooSmall=find(abs(Ii)<0.0005);
|
||||
% upper(tooSmall+length(Ir))=0.99*abs(Ii(tooSmall));
|
||||
upper(tooSmall+length(Ir))=0.2;
|
||||
upper(tooSmall+length(Ir))=0.002;
|
||||
|
||||
% upper([4,5,6])=[1;1;1];
|
||||
% upper([4,5,6])=0.2*Ii(nIi);
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ lower(pIi+length(Ir))=0.8*Ii(pIi);
|
|||
lower(nIi+length(Ir))=1.2*Ii(nIi);
|
||||
|
||||
%太小的数都要放宽一些
|
||||
tooSmall=find(abs(Ir)<0.05);
|
||||
tooSmall=find(abs(Ir)<0.0005);
|
||||
% lower(tooSmall)=-0.99*abs(Ir(tooSmall));
|
||||
lower(tooSmall)=-0.2;
|
||||
tooSmall=find(abs(Ii)<0.05);
|
||||
lower(tooSmall)=-0.002;
|
||||
tooSmall=find(abs(Ii)<0.0005);
|
||||
% lower(tooSmall+length(Ir))=-.99*abs(Ii(tooSmall));
|
||||
lower(tooSmall+length(Ir))=-0.2;
|
||||
lower(tooSmall+length(Ir))=-0.002;
|
||||
|
||||
% lower=-ones(length(Ir)*2,1);
|
||||
% lower([4,5,6])=[-1;-1;-1];
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ while(abs(Gap)>0.00001)
|
|||
% U_1W=diag(Init_W./Init_U);
|
||||
%% 形成海森阵
|
||||
deltdeltF=func_deltdeltF(busNum,fsY1,Loadi,wV1r,wV1i,wI1r,wI1i,V1measurement,V1r,V1i);
|
||||
deltdeltF=0;
|
||||
% deltdeltF=0;
|
||||
%% 形成ddHy
|
||||
% ddh=func_ddh(busNum,Loadi,Init_Z,Init_W);
|
||||
ddh=0;
|
||||
|
|
@ -55,7 +55,7 @@ while(abs(Gap)>0.00001)
|
|||
end
|
||||
%% 开始构建deltF
|
||||
deltF=func_deltF(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,busNum,fsY1,Loadi,V1r,V1i,I1r,I1i);
|
||||
deltF=0;
|
||||
% deltF=0;
|
||||
%%
|
||||
Luu=Init_U.*Init_W+Init_u*ones(RestraintCount,1);
|
||||
Lul=Init_L.*Init_Z-Init_u*ones(RestraintCount,1);
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
0
|
||||
632 0 0 0
|
||||
0
|
||||
630 80 70 80 60 80 70
|
||||
631 40 10 40 10 42 10
|
||||
632 120 120 120 120 120 120
|
||||
630 90 70 80 40 30 10
|
||||
631 40 10 60 30 100 80
|
||||
632 12 12 120 120 11 11
|
||||
0
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ function deltdeltF=func_deltdeltF(busNum,fsY11,Loadi,wV1r,wV1i,wI1r,wI1i,V1measu
|
|||
|
||||
deltdeltF=[
|
||||
%zeros(busNum*2,busNum*2+length(Loadi)*2);
|
||||
sparse(Loadi,Loadi,-4*( -2*wV1r.*wV1r+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1r.*wV1r],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*wV1r.*( -2*wV1i)./[wV1r.*wV1r],busNum,busNum+length(Loadi)*2);
|
||||
sparse(Loadi,Loadi,-4*wV1i.*( -2*wV1r)./[wV1i.*wV1i],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*( -2*wV1i.*wV1i+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1r.*wV1r],busNum,busNum+length(Loadi)*2);
|
||||
sparse(Loadi,Loadi,-4*( -2*V1r(Loadi).*V1r(Loadi)+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1r.*wV1r],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*V1r(Loadi).*( -2*V1i(Loadi))./[wV1r.*wV1r],busNum,busNum+length(Loadi)*2);
|
||||
sparse(Loadi,Loadi,-4*V1i(Loadi).*( -2*V1r(Loadi))./[wV1i.*wV1i],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*( -2*V1i(Loadi).*V1i(Loadi)+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1r.*wV1r],busNum,busNum+length(Loadi)*2);
|
||||
zeros(length(Loadi)*2,busNum*2),2*eye(length(Loadi)*2)*diag(1./[wI1r.^2;wI1i.^2]);
|
||||
%sparse(Loadi,busNum*2+Loadi,2,busNum,busNum*2+length(Loadi)*2);
|
||||
];
|
||||
|
|
|
|||
6
run.m
6
run.m
|
|
@ -150,9 +150,9 @@ mVoltpA=VoltpA.*(1+normrnd(0,sigma,length(VoltpA),1));
|
|||
mVoltpB=VoltpB.*(1+normrnd(0,sigma,length(VoltpB),1));
|
||||
mVoltpC=VoltpC.*(1+normrnd(0,sigma,length(VoltpC),1));
|
||||
%
|
||||
% mVoltpA=abs(VoltpA).*(1+normrnd(0,sigma,length(VoltpA),1));
|
||||
% mVoltpB=abs(VoltpB).*(1+normrnd(0,sigma,length(VoltpB),1)).*exp(1j*-120/180*pi);
|
||||
% mVoltpC=abs(VoltpC).*(1+normrnd(0,sigma,length(VoltpC),1)).*exp(1j*+120/180*pi);
|
||||
mVoltpA=abs(VoltpA).*(1+normrnd(0,sigma,length(VoltpA),1));
|
||||
mVoltpB=abs(VoltpB).*(1+normrnd(0,sigma,length(VoltpB),1)).*exp(1j*-120/180*pi);
|
||||
mVoltpC=abs(VoltpC).*(1+normrnd(0,sigma,length(VoltpC),1)).*exp(1j*+120/180*pi);
|
||||
%
|
||||
% mVoltpA=sparse(ones(busNum,1));
|
||||
% mVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
|
|
|
|||
Loading…
Reference in New Issue