加均匀分布

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab 2015-03-29 11:15:21 +08:00
parent 537b5e4699
commit d3146da2b9
1 changed files with 396 additions and 369 deletions

45
run.m
View File

@ -2,15 +2,21 @@ clear
clc clc
% yalmip('clear') % yalmip('clear')
addpath('.\Powerflow') addpath('.\Powerflow')
[~, ~, ~, ~,Volt,Vangle,Y,Yangle,r,c,newwordParameter,PG,QG,PD,QD,Balance]=pf('ieee4-DN.dat', '0'); [~, ~, ~, ~,Volt,Vangle,Y,Yangle,r,c,newwordParameter,PG,QG,PD,QD,Balance]=pf('E:\\feeder33\feeder33ieee.txt', '0');
% 'E:\\feeder33\feeder33ieee.txt' % 'E:\\feeder33\feeder33ieee.txt'
%% %%
sigma=0.03;% ±ê×¼²î sigma=0.01;%
loop=1;
VoltAAE=0;
VAngleAAE=0;
while 1
%% %%
% %
rVolt=Volt; % rVolt=Volt; %
BalanceVolt=Volt(Balance); BalanceVolt=Volt(Balance);
mVolt=rVolt.*(normrnd(0,sigma,length(Volt),1)+1);%µçѹÁ¿²âÁ¿ % mVolt=rVolt.*(normrnd(0,sigma,length(Volt),1)+1);%
%
mVolt=rVolt.*(unifrnd(-3*sigma,3*sigma,length(rVolt),1)+1);
rVAngel=Vangle; rVAngel=Vangle;
%% %%
% %
@ -57,10 +63,22 @@ rPG=PG;
PGi=find(PG~=0); PGi=find(PG~=0);
rQG=QG; rQG=QG;
QGi=find(QG~=0); QGi=find(QG~=0);
mPD=rPD.*(normrnd(0,sigma,length(rPD),1)+1);
mQD=rQD.*(normrnd(0,sigma,length(rQD),1)+1);
mPG=rPG.*(normrnd(0,sigma,length(rPG),1)+1); %
mQG=rQG.*(normrnd(0,sigma,length(rQG),1)+1); % mPD=rPD.*(normrnd(0,sigma,length(rPD),1)+1);
% mQD=rQD.*(normrnd(0,sigma,length(rQD),1)+1);
% mPG=rPG.*(normrnd(0,sigma,length(rPG),1)+1);
% mQG=rQG.*(normrnd(0,sigma,length(rQG),1)+1);
%
mPD=rPD.*(unifrnd(-3*sigma,3*sigma,length(rPD),1)+1);
mQD=rQD.*(unifrnd(-3*sigma,3*sigma,length(rQD),1)+1);
mPG=rPG.*(unifrnd(-3*sigma,3*sigma,length(rPG),1)+1);
mQG=rQG.*(unifrnd(-3*sigma,3*sigma,length(rQD),1)+1);
% PD0(Loadi)=RealPD(Loadi).*(1+unifrnd(-3*sigma,3*sigma,length(Loadi),1));
% QD0(Loadi)=RealQD(Loadi).*(1+unifrnd(-3*sigma,3*sigma,length(Loadi),1));
% mVolt=rVolt.*(1+unifrnd(-3*sigma,3*sigma,1,length(rVolt)));
%% 0 %% 0
zerosInjectionIndex=1:length(Volt); zerosInjectionIndex=1:length(Volt);
zerosInjectionIndex=zerosInjectionIndex( ~(PD~=0|QD~=0|PG~=0|QG~=0) ); zerosInjectionIndex=zerosInjectionIndex( ~(PD~=0|QD~=0|PG~=0|QG~=0) );
@ -73,7 +91,7 @@ onlyQG=setdiff(QGi,PDQDi);
%% %%
% measureSigma=abs(([rVolt;rBranchP;rBranchQ;rTransP;rTransQ].*sigma)); % measureSigma=abs(([rVolt;rBranchP;rBranchQ;rTransP;rTransQ].*sigma));
measureSigma=abs(([rVolt;rPD(PDi);rQD(QDi);].*sigma)); measureSigma=abs(([rVolt;rPD(PDi);rQD(QDi);].*sigma));
measureSigma(measureSigma<1e-6)=mean(measureSigma(measureSigma>1e-6)); % measureSigma(measureSigma<1e-6)=mean(measureSigma(measureSigma>1e-6));
W=sparse(diag(1./measureSigma.^2)) ; W=sparse(diag(1./measureSigma.^2)) ;
% W=eye(length(W)); % W=eye(length(W));
% W=sparse(1:length(W),1:length(W),400,length(W),length(W)); % W=sparse(1:length(W),1:length(W),400,length(W),length(W));
@ -116,7 +134,7 @@ ojbFunDecrease=1000;% Ŀ
% Jacobi % Jacobi
% while max(abs(g))>1e-5; % while max(abs(g))>1e-5;
% while maxD>1e-5 % while maxD>1e-5
while max(abs(optimalCondition))>eps while max(abs(maxD))>eps
% %
dV_dV=sparse(1:length(mVolt),1:length(mVolt),1,length(mVolt),length(mVolt));% dV_dV=sparse(1:length(mVolt),1:length(mVolt),1,length(mVolt),length(mVolt));%
dV_dTyta=sparse(length(mVolt),length(mVolt)); dV_dTyta=sparse(length(mVolt),length(mVolt));
@ -377,6 +395,15 @@ while max(abs(optimalCondition))>eps
optimalCondition(Balance)=0; optimalCondition(Balance)=0;
optimalCondition(Balance+length(mVolt))=0; optimalCondition(Balance+length(mVolt))=0;
end end
VoltAAE=VoltAAE+sum(abs((SEVolt-rVolt)./rVolt));
VAngleAAE=VAngleAAE+sum(abs((SEVAngle(2:end)-rVAngel(2:end))./rVAngel(2:end)));
if loop>=500
break
end
loop=loop+1;
end
VoltAAE=VoltAAE/(loop*length(SEVolt))*100;
VAngleAAE=VAngleAAE/(loop*length(SEVAngle(2:end)))*100;
%% %%
fprintf('%d\n',Iteration); fprintf('%d\n',Iteration);
fval=full((z-h)'*W*(z-h)); fval=full((z-h)'*W*(z-h));