l<=I<=u 的约束方式调通了。
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
c1efa7e6a8
commit
098fe0e7c1
|
|
@ -8,12 +8,12 @@ pIi=find(Ii>0);
|
|||
nIi=find(Ii<0);
|
||||
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
||||
upper=ones(length(Loadi)*2,1);
|
||||
upper(pIr)=1.8*Ir(pIr);
|
||||
upper(nIr)=0.2*Ir(nIr);
|
||||
upper(pIi+length(Ir))=1.8*Ii(pIi);
|
||||
upper(nIi+length(Ir))=0.2*Ii(nIi);
|
||||
upper(pIr)=1.2*Ir(pIr);
|
||||
upper(nIr)=0.8*Ir(nIr);
|
||||
upper(pIi+length(Ir))=1.2*Ii(pIi);
|
||||
upper(nIi+length(Ir))=0.8*Ii(nIi);
|
||||
|
||||
upper([4,5,6])=[1;1;1];
|
||||
% upper([4,5,6])=[1;1;1];
|
||||
% upper([4,5,6])=0.2*Ii(nIi);
|
||||
|
||||
% upper=ones(length(Ir)*2,1);
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ pIi=find(Ii>0);
|
|||
nIi=find(Ii<0);
|
||||
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
||||
lower=ones(length(Loadi)*2,1);
|
||||
lower(pIr)=0.2*Ir(pIr);
|
||||
lower(nIr)=1.8*Ir(nIr);
|
||||
lower(pIi+length(Ir))=0.2*Ii(pIi);
|
||||
lower(nIi+length(Ir))=1.8*Ii(nIi);
|
||||
lower(pIr)=0.8*Ir(pIr);
|
||||
lower(nIr)=1.2*Ir(nIr);
|
||||
lower(pIi+length(Ir))=0.8*Ii(pIi);
|
||||
lower(nIi+length(Ir))=1.2*Ii(nIi);
|
||||
|
||||
lower=-ones(length(Ir)*2,1);
|
||||
% lower=-ones(length(Ir)*2,1);
|
||||
% lower([4,5,6])=[-1;-1;-1];
|
||||
Lz=Mat_G-Init_L-lower;
|
||||
end
|
||||
49
run.m
49
run.m
|
|
@ -255,24 +255,53 @@ wI1i=abs( imag(mIf1(Loadi).*sigmaI1) );
|
|||
|
||||
[ V1r,V1i,I1r,I1i ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 );
|
||||
% f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V1r(Loadi)).^2)+sum((imag(Vmeasurement)-V1i(Loadi)).^2);
|
||||
f=sum(([real(-mIf1(Loadi));imag(-mIf1(Loadi))]-[-I1r;-I1i]).^2)+sum((real(rV1(Loadi))-V1r(Loadi)).^2)+sum((imag(rV1(Loadi))-V1i(Loadi)).^2);
|
||||
fprintf('Ä¿±êÖµ %f\n',full(f));
|
||||
% f=sum(([real(-mIf1(Loadi));imag(-mIf1(Loadi))]-[-I1r;-I1i]).^2)+sum((real(rV1(Loadi))-V1r(Loadi)).^2)+sum((imag(rV1(Loadi))-V1i(Loadi)).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
%% 算负序的
|
||||
fprintf('负序\n');
|
||||
BalI2r=real(-sum(mIf2));
|
||||
BalI2i=imag(-sum(mIf2));
|
||||
Imeasurement=-mIf2(Loadi);
|
||||
[ V2r,V2i,I2r,I2i ]=IPMLoop(Vmeasurement,Imeasurement,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,0 );
|
||||
f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V2r(Loadi)).^2)+sum((imag(Vmeasurement)-V2i(Loadi)).^2);
|
||||
fprintf('Ä¿±êÖµ %f\n',full(f));
|
||||
%电压
|
||||
%制作量测量
|
||||
mfsY22=fsY22;
|
||||
mfsY22(:,Balance)=0;
|
||||
mfsY22(Balance,:)=0;
|
||||
mfsY22=mfsY22+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
rV2=inv(mfsY22)*(mIf2);
|
||||
sigmaV2=normrnd(0,sigma,length(Loadi),1);
|
||||
V2measurement=rV2(Loadi).*(1+sigmaV2);
|
||||
wV2r=abs(real( rV2(Loadi).*sigmaV2 ));
|
||||
wV2i=abs(imag( rV2(Loadi).*sigmaV2 ));
|
||||
sigmaI2=normrnd(0,sigma,length(Loadi),1);
|
||||
I2measurement=mIf2(Loadi).*(1+sigmaI2);%测量值是等效发电机电流
|
||||
wI2r=abs( real(mIf2(Loadi).*sigmaI2) );
|
||||
wI2i=abs( imag(mIf2(Loadi).*sigmaI2) );
|
||||
[ V2r,V2i,I2r,I2i ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 );
|
||||
% f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V2r(Loadi)).^2)+sum((imag(Vmeasurement)-V2i(Loadi)).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
%% 算零序
|
||||
fprintf('零序\n');
|
||||
BalI0r=real(-sum(mIf0));
|
||||
BalI0i=imag(-sum(mIf0));
|
||||
Imeasurement=-mIf0(Loadi);
|
||||
[ V0r,V0i,I0r,I0i ]=IPMLoop(Vmeasurement,Imeasurement,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,0 );
|
||||
f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V0r(Loadi)).^2)+sum((imag(Vmeasurement)-V0i(Loadi)).^2);
|
||||
fprintf('Ä¿±êÖµ %f\n',full(f));
|
||||
%电压
|
||||
%制作量测量
|
||||
mfsY00=fsY00;
|
||||
mfsY00(:,Balance)=0;
|
||||
mfsY00(Balance,:)=0;
|
||||
mfsY00=mfsY00+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
rV0=inv(mfsY00)*(mIf0);
|
||||
sigmaV0=normrnd(0,sigma,length(Loadi),1);
|
||||
V0measurement=rV0(Loadi).*(1+sigmaV0);
|
||||
wV0r=abs(real( rV0(Loadi).*sigmaV0 ));
|
||||
wV0i=abs(imag( rV0(Loadi).*sigmaV0 ));
|
||||
sigmaI0=normrnd(0,sigma,length(Loadi),1);
|
||||
I0measurement=mIf0(Loadi).*(1+sigmaI0);%测量值是等效发电机电流
|
||||
wI0r=abs( real(mIf0(Loadi).*sigmaI0) );
|
||||
wI0i=abs( imag(mIf0(Loadi).*sigmaI0) );
|
||||
|
||||
[ V0r,V0i,I0r,I0i ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0 );
|
||||
% f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V0r(Loadi)).^2)+sum((imag(Vmeasurement)-V0i(Loadi)).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
%状态量
|
||||
% SEVoltpA=sparse(ones(busNum,1));
|
||||
% SEVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
|
|
|
|||
Loading…
Reference in New Issue