From 098fe0e7c1ae7e327623b2975b593d770a569124 Mon Sep 17 00:00:00 2001 From: "dugg@lab-desk" Date: Wed, 29 Oct 2014 21:09:38 +0800 Subject: [PATCH] =?UTF-8?q?l<=3DI<=3Du=20=E7=9A=84=E7=BA=A6=E6=9D=9F?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E8=B0=83=E9=80=9A=E4=BA=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dugg@lab-desk --- FormLwstate1.m | 10 +++++----- FormLzstate1.m | 10 +++++----- run.m | 49 +++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 49 insertions(+), 20 deletions(-) diff --git a/FormLwstate1.m b/FormLwstate1.m index 491f6dc..6e11624 100644 --- a/FormLwstate1.m +++ b/FormLwstate1.m @@ -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); diff --git a/FormLzstate1.m b/FormLzstate1.m index 4ef45c9..dce009d 100644 --- a/FormLzstate1.m +++ b/FormLzstate1.m @@ -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 \ No newline at end of file diff --git a/run.m b/run.m index 458a862..bbe94f5 100644 --- a/run.m +++ b/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);