parent
537b5e4699
commit
d3146da2b9
45
run.m
45
run.m
|
|
@ -2,15 +2,21 @@ clear
|
|||
clc
|
||||
% yalmip('clear')
|
||||
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'
|
||||
%% 开始生成量测量
|
||||
sigma=0.03;% ±ê×¼²î
|
||||
sigma=0.01;% 标准差
|
||||
loop=1;
|
||||
VoltAAE=0;
|
||||
VAngleAAE=0;
|
||||
while 1
|
||||
%% 电压
|
||||
%电压幅值
|
||||
rVolt=Volt; %幅值
|
||||
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;
|
||||
%% 电流
|
||||
%注入电流
|
||||
|
|
@ -57,10 +63,22 @@ rPG=PG;
|
|||
PGi=find(PG~=0);
|
||||
rQG=QG;
|
||||
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注入节点
|
||||
zerosInjectionIndex=1:length(Volt);
|
||||
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;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=eye(length(W));
|
||||
% W=sparse(1:length(W),1:length(W),400,length(W),length(W));
|
||||
|
|
@ -116,7 +134,7 @@ ojbFunDecrease=1000;% Ŀ
|
|||
% 以下都是Jacobi矩阵
|
||||
% while max(abs(g))>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_dTyta=sparse(length(mVolt),length(mVolt));
|
||||
|
|
@ -377,6 +395,15 @@ while max(abs(optimalCondition))>eps
|
|||
optimalCondition(Balance)=0;
|
||||
optimalCondition(Balance+length(mVolt))=0;
|
||||
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);
|
||||
fval=full((z-h)'*W*(z-h));
|
||||
|
|
|
|||
Loading…
Reference in New Issue