diff --git a/IPMLoop.m b/IPMLoop.m index 6733d00..b33a757 100644 --- a/IPMLoop.m +++ b/IPMLoop.m @@ -8,7 +8,6 @@ KK=0; plotGap=zeros(1,60); %初始化 %状态量为 SEPD SEQD SEVmf1 SEVaf1 -state=1;%state1表示用l<=I1r<=u 这样的约束形式 RestraintCount=length(Loadi)*2; ContrlCount=busNum*2+length(Loadi)*2; CenterA=0.1; @@ -18,9 +17,9 @@ Init_L=1*sparse(ones(RestraintCount,1)); Init_U=1*sparse(ones(RestraintCount,1)); Init_Y=sparse(2*busNum,1);%等式约束乘子 Gap=(Init_L'*Init_Z-Init_U'*Init_W); -kmax=60; +kmax=15; while(abs(Gap)>0.00001) - if KK>kmax + if KK>=kmax break; end plotGap(KK+1)=Gap; @@ -64,7 +63,7 @@ while(abs(Gap)>0.00001) KK=KK+1; end % f=sum(([real(I1measurement);imag(I1measurement)]-[I1r;I1i]).^2)+sum((real(V1measurement)-V1r(Loadi)).^2)+sum((imag(V1measurement)-V1i(Loadi)).^2); -if abs(Gap)<0.00001 +if abs(Gap)<0.00001 && KK EPS) k=k+1; @@ -324,6 +331,25 @@ deltmCurpC=conj((mphaseCSpotLoadP+1j*mphaseCSpotLoadQ)./mVoltpC)*0.2; deltF012=Tp2f*conj([deltmCurpA';deltmCurpB';deltmCurpC']); dI_F=conj(deltF012)'; dI_F=dI_F(Loadi,:); + +% deltmCurpA1=conj((mphaseASpotLoadP+1j*mphaseASpotLoadQ)./mVoltpA)*0.8; +% deltmCurpB1=conj((mphaseBSpotLoadP+1j*mphaseBSpotLoadQ)./mVoltpB)*0.8; +% deltmCurpC1=conj((mphaseCSpotLoadP+1j*mphaseCSpotLoadQ)./mVoltpC)*0.8; +% +% deltF012=Tp2f*conj([-deltmCurpA1'+mCurpA';-deltmCurpB1'+mCurpB';-deltmCurpC1'+mCurpC']); +% dI_F=conj(deltF012)'; +% dI_F=dI_F(Loadi,:); +% +% +% deltmCurpA1=conj((mphaseASpotLoadP+1j*mphaseASpotLoadQ)./mVoltpA)*1.2; +% deltmCurpB1=conj((mphaseBSpotLoadP+1j*mphaseBSpotLoadQ)./mVoltpB)*1.2; +% deltmCurpC1=conj((mphaseCSpotLoadP+1j*mphaseCSpotLoadQ)./mVoltpC)*1.2; +% +% deltF012=Tp2f*conj([deltmCurpA1'-mCurpA';deltmCurpB1'-mCurpB';deltmCurpC1'-mCurpC']); +% dI_F=conj(deltF012)'; +% dI_F=dI_F(Loadi,:); + + tic for II=1:3