按我硕士论文中的推导,用了新的电压幅值权重计算。

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab 2015-04-01 10:35:11 +08:00
parent 361909bcde
commit 69ba28f2a9
1 changed files with 14 additions and 31 deletions

45
run.m
View File

@ -201,15 +201,13 @@ I1measurement=mIf1(Loadi);
% wI1r=abs( real(mIf1(Loadi).*sigmaI1) ); % wI1r=abs( real(mIf1(Loadi).*sigmaI1) );
% wI1i=abs( imag(mIf1(Loadi).*sigmaI1) ); % wI1i=abs( imag(mIf1(Loadi).*sigmaI1) );
% %
wV1r=abs(real(V1measurement)).*sigma;
wV1i=abs(imag(V1measurement)).*sigma;
wV1i(abs(wV1i)<1e-5)=1e10;
wI1r=abs(real(I1measurement)).*sigma; wI1r=abs(real(I1measurement)).*sigma;
wI1i=abs(imag(I1measurement)).*sigma; wI1i=abs(imag(I1measurement)).*sigma;
wV1r=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV1i=ones(length(wV1i),1); wV1i=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV1r=ones(length(wV1i),1); wV1r=wV1r(Loadi);
wV1i=wV1i(Loadi);
% [ 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(I1measurement);imag(I1measurement)]-[I1r;I1i]).^2)+sum((real(rV1)-V1r).^2)+sum((imag(rV1)-V1i).^2); % f=sum(([real(I1measurement);imag(I1measurement)]-[I1r;I1i]).^2)+sum((real(rV1)-V1r).^2)+sum((imag(rV1)-V1i).^2);
% fprintf(' %f\n',full(f)); % fprintf(' %f\n',full(f));
@ -234,13 +232,12 @@ I2measurement=mIf2(Loadi);
% wI2r=abs( real(mIf2(Loadi).*sigmaI2) ); % wI2r=abs( real(mIf2(Loadi).*sigmaI2) );
% wI2i=abs( imag(mIf2(Loadi).*sigmaI2) ); % wI2i=abs( imag(mIf2(Loadi).*sigmaI2) );
% %
wV2r=abs(real(V2measurement)).*sigma;
wV2i=abs(imag(V2measurement)).*sigma;
wI2r=abs(real(I2measurement)).*sigma; wI2r=abs(real(I2measurement)).*sigma;
wI2i=abs(imag(I2measurement)).*sigma; wI2i=abs(imag(I2measurement)).*sigma;
wV2r=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV2i=ones(length(wV1i),1); wV2i=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV2r=ones(length(wV1i),1); wV2r=wV2r(Loadi);
wV2i=wV2i(Loadi);
% [ V2r,V2i,I2r,I2i ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 ); % [ V2r,V2i,I2r,I2i ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 );
% f=sum(([real(I2measurement);imag(I2measurement)]-[I2r;I2i]).^2)+sum((real(rV2)-V2r).^2)+sum((imag(rV2)-V2i).^2); % f=sum(([real(I2measurement);imag(I2measurement)]-[I2r;I2i]).^2)+sum((real(rV2)-V2r).^2)+sum((imag(rV2)-V2i).^2);
@ -266,45 +263,31 @@ I0measurement=mIf0(Loadi);
% wI0r=abs( real(mIf0(Loadi).*sigmaI0) ); % wI0r=abs( real(mIf0(Loadi).*sigmaI0) );
% wI0i=abs( imag(mIf0(Loadi).*sigmaI0) ); % wI0i=abs( imag(mIf0(Loadi).*sigmaI0) );
% %
wV0r=abs(real(V0measurement)).*sigma;
wV0i=abs(imag(V0measurement)).*sigma;
wI0r=abs(real(I0measurement)).*sigma; wI0r=abs(real(I0measurement)).*sigma;
wI0r(abs(wI0r)<1e-5)=1e10;
wI0i=abs(imag(I0measurement)).*sigma; wI0i=abs(imag(I0measurement)).*sigma;
wV0r=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV0i=ones(length(wV1i),1); wV0i=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*sigma).^2 )/9 );
wV0r=ones(length(wV1i),1); wV0r=wV0r(Loadi);
wV0i=wV0i(Loadi);
% matlabpool local 3 % matlabpool local 3
tic tic
for II=1:3 for II=1:3
if II==1 if II==1
fprintf('\n'); fprintf('\n');
% wV1r(1:2)=1e10;
% wV1i(1:2)=1e10;
% wI1r(1:2)=1e10;
% wI1i(1:2)=1e10;
tic tic
[ V1r,V1i,I1r,I1i,isConverged1 ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 ); [ V1r,V1i,I1r,I1i,isConverged1 ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 );
toc toc
end end
if II==2 if II==2
fprintf('\n'); fprintf('\n');
% wV2r(1:2)=1e10;
% wV2i(1:2)=1e10;
% wI2r(1:2)=1e10;
% wI2i(1:2)=1e10;
tic tic
[ V2r,V2i,I2r,I2i,isConverged2 ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 ); [ V2r,V2i,I2r,I2i,isConverged2 ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 );
toc toc
end end
if II==3 if II==3
fprintf('\n'); fprintf('\n');
% wV0r(1:2)=1e10;
% wV0i(1:2)=1e10;
% wI0r(1:2)=1e10;
% wI0i(1:2)=1e10;
tic tic
[ V0r,V0i,I0r,I0i,isConverged0 ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0 ); [ V0r,V0i,I0r,I0i,isConverged0 ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0 );
toc toc