修复一个收敛判据的bug,也不知道是不是bug,哈哈

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab 2015-05-04 21:08:14 +08:00
parent 932716ceb1
commit eb7782ead1
2 changed files with 8 additions and 7 deletions

View File

@ -22,10 +22,10 @@ Init_L=1*sparse(ones(RestraintCount,1));
Init_U=1*sparse(ones(RestraintCount,1)); Init_U=1*sparse(ones(RestraintCount,1));
Init_Y=sparse(2*busNum,1);%µÈÊ½Ô¼Êø³Ë×Ó Init_Y=sparse(2*busNum,1);%µÈÊ½Ô¼Êø³Ë×Ó
Gap=(Init_L'*Init_Z-Init_U'*Init_W); Gap=(Init_L'*Init_Z-Init_U'*Init_W);
kmax=30; kmax=100;
isSetBound=0; isSetBound=0;
largerBound=1; largerBound=0;
realBound=0; realBound=1;
tic tic
while(abs(Gap)>1e-4) while(abs(Gap)>1e-4)
if KK>=kmax if KK>=kmax
@ -159,7 +159,7 @@ while(abs(Gap)>1e-4)
%%È¡¸÷·ÖÁ¿ %%È¡¸÷·ÖÁ¿
[deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX(XX,ContrlCount,RestraintCount,busNum,Balance); [deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX(XX,ContrlCount,RestraintCount,busNum,Balance);
[Init_Z,Init_L,Init_W,Init_U,Init_Y,V1r,V1i,I1r,I1i]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,V1r,V1i,I1r,I1i,ContrlCount,Balance,busNum,Loadi,Vref); [Init_Z,Init_L,Init_W,Init_U,Init_Y,V1r,V1i,I1r,I1i]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,V1r,V1i,I1r,I1i,ContrlCount,Balance,busNum,Loadi,Vref);
Gap=(Init_L'*Init_Z-Init_U'*Init_W)+max(abs(deltX)); Gap=(Init_L'*Init_Z-Init_U'*Init_W);+max(abs(deltX));
fprintf('Gap %f :%d\n',full(Gap),KK+1); fprintf('Gap %f :%d\n',full(Gap),KK+1);
KK=KK+1; KK=KK+1;
end end

7
run.m
View File

@ -291,7 +291,8 @@ wV0i=wV0i(Loadi);
%% %%
noLoadi=[1,8,10,12]; noLoadi=[1,8,10,12];
noLoadi=[1:4:max(Loadi)]; noLoadi=[1:7:max(Loadi)];
noLoadi=[1,19];
% noLoadi=[4,3,2,5,6,7,11,14,22]; % noLoadi=[4,3,2,5,6,7,11,14,22];
% noLoadi=Loadi; % noLoadi=Loadi;
% noLoadi=[]; % noLoadi=[];
@ -311,8 +312,8 @@ wV2i(ismember(Loadi,noLoadi))=1e100000;
%线 %线
guessCurpA=conj((phaseASpotLoadP+1j*phaseASpotLoadQ)./mVoltpA).*(1+unifrnd(-0.15,0.15,length(phaseASpotLoadQ),1)); guessCurpA=conj((phaseASpotLoadP+1j*phaseASpotLoadQ)./mVoltpA).*(1+unifrnd(-0.15,0.15,length(phaseASpotLoadQ),1));
guessCurpB=conj((phaseBSpotLoadP+1j*phaseBSpotLoadQ)./mVoltpB).*(1+unifrnd(-0.15,0.15,length(phaseASpotLoadQ),1)); guessCurpB=conj((phaseBSpotLoadP+1j*phaseBSpotLoadQ)./mVoltpB).*(1+unifrnd(-0.15,0.15,length(phaseBSpotLoadQ),1));
guessCurpC=conj((phaseCSpotLoadP+1j*phaseCSpotLoadQ)./mVoltpC).*(1+unifrnd(-0.15,0.15,length(phaseASpotLoadQ),1)); guessCurpC=conj((phaseCSpotLoadP+1j*phaseCSpotLoadQ)./mVoltpC).*(1+unifrnd(-0.15,0.15,length(phaseCSpotLoadQ),1));
guessIf012=Tp2f*conj([-guessCurpA';-guessCurpB';-guessCurpC']); guessIf012=Tp2f*conj([-guessCurpA';-guessCurpB';-guessCurpC']);
guessIf0=conj(guessIf012(1,:)'); guessIf0=conj(guessIf012(1,:)');