修复一个电压没有测量值时上下界的错误。
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
2237f178a9
commit
1fd274a00d
53
OPF.m
53
OPF.m
|
|
@ -7,14 +7,17 @@ sumCaseB_SE=0;
|
|||
sumCaseC_SE=0;
|
||||
badDataResult=zeros(10,33);
|
||||
badDataLocation=zeros(34,10);
|
||||
maxDVolt=0;
|
||||
maxDVAngle=0;
|
||||
% for badDataNode=1:33
|
||||
for I=1:1
|
||||
nodeMaxDVolt=zeros(33,1);
|
||||
nodeMaxDVAngle=zeros(33,1);
|
||||
for badDataNode=1:1
|
||||
loopN=1;
|
||||
maxDVolt=0;
|
||||
maxDVAngle=0;
|
||||
while 1
|
||||
close
|
||||
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0]= ...
|
||||
pf('E:\ËãÀý\feeder33\feeder33.txt');
|
||||
sigma=0.01;
|
||||
sigma=0.001;
|
||||
RealPD=PD;
|
||||
RealQD=QD;
|
||||
rVolt=Volt;
|
||||
|
|
@ -33,23 +36,35 @@ maxDVAngle=0;
|
|||
% mVolt=load('mVolt');
|
||||
% mVolt=mVolt.mVolt;
|
||||
|
||||
mVolt(31)=rVolt(31)*(1-sigma*6);
|
||||
% mVolt(badDataNode)=rVolt(badDataNode)*(1-sigma*6);
|
||||
%% »Case AµÄͼ
|
||||
% figure('Color',[1 1 1]);
|
||||
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapA]=subOPF([],PD0,QD0,mVolt,sigma);%È«²¿ÓÐ
|
||||
% badDataResult(I,badDataNode)=sum(Vbi);
|
||||
% badDataLocation(1:33,I)=Vbi;
|
||||
% badDataLocation(34,I)=sum(abs((rVolt-Volt)./rVolt./length(rVolt)))+sum(abs( (UAngel(2:33)-rUAngel(2:33))./rUAngel(2:33)./length(rUAngel(2:33))));
|
||||
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapA,isConverge]=subOPF([1:33],PD0,QD0,mVolt,sigma);%ČŤ˛żÓĐ
|
||||
% badDataResult(I,badDataNode)=sum(Vbi);
|
||||
% badDataLocation(1:33,I)=Vbi;
|
||||
% badDataLocation(34,I)=sum(abs((rVolt-Volt)./rVolt./length(rVolt)))+sum(abs( (UAngel(2:33)-rUAngel(2:33))./rUAngel(2:33)./length(rUAngel(2:33))));
|
||||
break;
|
||||
if isConverge==0
|
||||
continue;
|
||||
end
|
||||
% źÓ×î´óĆŤ˛î
|
||||
maxDVolt_=max(abs((rVolt-Volt)));
|
||||
if maxDVolt_>maxDVolt
|
||||
maxDVolt=maxDVolt_;
|
||||
end
|
||||
maxDVAngle_=max(abs((UAngel(2:33)-rUAngel(2:33))));
|
||||
if maxDVAngle_>maxDVAngle
|
||||
maxDVAngle=maxDVAngle_;
|
||||
end
|
||||
|
||||
if loopN>=1
|
||||
nodeMaxDVolt(badDataNode)=maxDVolt;
|
||||
nodeMaxDVAngle(badDataNode)=maxDVAngle;
|
||||
break;
|
||||
end
|
||||
|
||||
% ¼Ó×î´óÆ«²î
|
||||
maxDVolt_=max(abs((rVolt-Volt)));
|
||||
if maxDVolt_>maxDVolt
|
||||
maxDVolt=maxDVolt_;
|
||||
end
|
||||
maxDVAngle_=max(abs((UAngel(2:33)-rUAngel(2:33))));
|
||||
if maxDVAngle_>maxDVAngle
|
||||
maxDVAngle=maxDVAngle_;
|
||||
end
|
||||
loopN=loopN+1;
|
||||
end
|
||||
|
||||
end
|
||||
% end
|
||||
|
|
|
|||
29
subOPF.m
29
subOPF.m
|
|
@ -1,9 +1,10 @@
|
|||
function [Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGap]=subOPF(noMeasurei,PD0,QD0,mVolt,sigma)
|
||||
function [Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGap,isConverge]=subOPF(noMeasurei,PD0,QD0,mVolt,sigma)
|
||||
tic
|
||||
%% 存在问题
|
||||
% 变压器变比的位置没有考虑,由于现在用的变比都是1,所以没有影响。 20130123
|
||||
%%
|
||||
% thesis=ForThesis(1,62);
|
||||
isConverge=1;%判断是否收敛
|
||||
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0]= ...
|
||||
pf('E:\算例\feeder33\feeder33.txt');
|
||||
% pf('E:\算例\柳金Ⅰ926_21671693_2012-09-06\newFIle16.txt');
|
||||
|
|
@ -45,7 +46,7 @@ Gap=(Init_L*Init_Z'-Init_U*Init_W');
|
|||
KK=0;
|
||||
plotGap=zeros(1,60);
|
||||
ContrlCount=size(Loadi,1)*2+Busnum*2+Busnum+length(Loadi)*2;
|
||||
kmax=100;
|
||||
kmax=150;
|
||||
Precision=Precision/1;
|
||||
%% 加误差
|
||||
%找DG
|
||||
|
|
@ -53,6 +54,11 @@ DGi=find(PD0<0);
|
|||
%
|
||||
mPD=PD0;
|
||||
mQD=QD0;
|
||||
|
||||
%负荷曲线有误
|
||||
% mVolt(3)=0.9*mVolt(3);%15%
|
||||
% mQD(13)=0.3*mQD(13);
|
||||
|
||||
%% 加估计上下界,用真实值
|
||||
% lPD=abs(RealPD*3*sigma);
|
||||
% uPD=abs(RealPD*3*sigma);
|
||||
|
|
@ -86,8 +92,16 @@ lPD(noMeasurei)=0.15*mPD(noMeasurei);%15%
|
|||
uPD(noMeasurei)=0.15*mPD(noMeasurei);
|
||||
lQD(noMeasurei)=0.15*mQD(noMeasurei);
|
||||
uQD(noMeasurei)=0.15*mQD(noMeasurei);
|
||||
|
||||
|
||||
%电压伪量测错误
|
||||
mVolt(noMeasurei)=0.95;
|
||||
|
||||
lVolt(noMeasurei)=0.7*mVolt(noMeasurei);%电压在0.93~1.07
|
||||
uVolt(noMeasurei)=0.7*mVolt(noMeasurei);
|
||||
|
||||
|
||||
|
||||
%错误数据
|
||||
%mVolt(2)=5;
|
||||
% bigM=0.000003;
|
||||
|
|
@ -124,7 +138,7 @@ while(abs(Gap)>Precision*10)
|
|||
%% 形成方程矩阵
|
||||
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
||||
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
||||
bigM=0.8;
|
||||
bigM=1;
|
||||
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
||||
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
||||
Ly=Mat_H;
|
||||
|
|
@ -177,7 +191,7 @@ while(abs(Gap)>Precision*10)
|
|||
%% 形成方程矩阵
|
||||
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
||||
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
||||
bigM=0.4;
|
||||
bigM=1;
|
||||
eps=Gap*0.1;
|
||||
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
||||
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
||||
|
|
@ -204,5 +218,12 @@ dQ=QD+diag(Volt)*Y.*sin(AngleIJ)*Volt';%
|
|||
dQ(Balance)=0;
|
||||
mdP=max(dP);
|
||||
mdQ=max(dQ);
|
||||
%判断是否收敛
|
||||
if min(abs(Vbi-.1))>5e-005
|
||||
isConverge=0;
|
||||
end
|
||||
if KK>=kmax
|
||||
isConverge=0;
|
||||
end
|
||||
toc
|
||||
end
|
||||
Loading…
Reference in New Issue