修复了目标函数求导的错误。

Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
dugg@lab-desk
2014-12-04 11:19:08 +08:00
parent 5357f5edcf
commit 1c2b53d2b5
6 changed files with 18 additions and 18 deletions

View File

@@ -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);

View File

@@ -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];

View File

@@ -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);

View File

@@ -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

View File

@@ -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
View File

@@ -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);