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);
|
nIi=find(Ii<0);
|
||||||
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
||||||
upper=ones(length(Loadi)*2,1);
|
upper=ones(length(Loadi)*2,1);
|
||||||
upper(pIr)=1.8*Ir(pIr);
|
upper(pIr)=1.2*Ir(pIr);
|
||||||
upper(nIr)=0.2*Ir(nIr);
|
upper(nIr)=0.8*Ir(nIr);
|
||||||
upper(pIi+length(Ir))=1.8*Ii(pIi);
|
upper(pIi+length(Ir))=1.2*Ii(pIi);
|
||||||
upper(nIi+length(Ir))=0.2*Ii(nIi);
|
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([4,5,6])=0.2*Ii(nIi);
|
||||||
|
|
||||||
% upper=ones(length(Ir)*2,1);
|
% upper=ones(length(Ir)*2,1);
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,12 @@ pIi=find(Ii>0);
|
||||||
nIi=find(Ii<0);
|
nIi=find(Ii<0);
|
||||||
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
% lower=-0.2*sparse(ones(length(Loadi)*2,1));
|
||||||
lower=ones(length(Loadi)*2,1);
|
lower=ones(length(Loadi)*2,1);
|
||||||
lower(pIr)=0.2*Ir(pIr);
|
lower(pIr)=0.8*Ir(pIr);
|
||||||
lower(nIr)=1.8*Ir(nIr);
|
lower(nIr)=1.2*Ir(nIr);
|
||||||
lower(pIi+length(Ir))=0.2*Ii(pIi);
|
lower(pIi+length(Ir))=0.8*Ii(pIi);
|
||||||
lower(nIi+length(Ir))=1.8*Ii(nIi);
|
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];
|
% lower([4,5,6])=[-1;-1;-1];
|
||||||
Lz=Mat_G-Init_L-lower;
|
Lz=Mat_G-Init_L-lower;
|
||||||
end
|
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 );
|
[ 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(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);
|
% 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('目标值 %f\n',full(f));
|
||||||
%% 算负序的
|
%% 算负序的
|
||||||
fprintf('负序\n');
|
fprintf('负序\n');
|
||||||
BalI2r=real(-sum(mIf2));
|
BalI2r=real(-sum(mIf2));
|
||||||
BalI2i=imag(-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);
|
mfsY22=fsY22;
|
||||||
fprintf('Ä¿±êÖµ %f\n',full(f));
|
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');
|
fprintf('零序\n');
|
||||||
BalI0r=real(-sum(mIf0));
|
BalI0r=real(-sum(mIf0));
|
||||||
BalI0i=imag(-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);
|
mfsY00=fsY00;
|
||||||
fprintf('Ä¿±êÖµ %f\n',full(f));
|
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));
|
% SEVoltpA=sparse(ones(busNum,1));
|
||||||
% SEVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
% SEVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue