开始认真写中文期刊。

1.把图表改成绝对值。
2.找到一个比较好的随机数值。

Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
dugg@lab-desk 2015-01-23 21:27:14 +08:00
parent 466c90d8a7
commit 779c2d0e16
5 changed files with 26 additions and 25 deletions

41
OPF.m
View File

@ -18,12 +18,12 @@ QD0(Loadi)=RealQD(Loadi).*(1+normrnd(0,sigma,length(Loadi),1));
mVolt=rVolt.*(1+normrnd(0,sigma,length(rVolt),1))';
%
% PD0=load('PD0');
% PD0=PD0.PD0;
% QD0=load('QD0');
% QD0=QD0.QD0;
% mVolt=load('mVolt');
% mVolt=mVolt.mVolt;
PD0=load('PD0');
PD0=PD0.PD0;
QD0=load('QD0');
QD0=QD0.QD0;
mVolt=load('mVolt');
mVolt=mVolt.mVolt;
% mVolt(19)=rVolt(19)*(1+sigma*4);
%% Case A
@ -32,7 +32,7 @@ figure('Color',[1 1 1]);
subplot(4,1,1,'XTick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33]);
CaseAREV=(Volt-rVolt)*100;%Relative Error of Voltage in Case A
% CaseAREV=CaseAREV(2:end)*100;
plot(1:length(CaseAREV),CaseAREV,'k.:','Marker','diamond');
plot(1:length(CaseAREV),abs(CaseAREV),'k.:','Marker','diamond');
box off;
set(gca,'XTick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33])
xlabel('');
@ -40,7 +40,7 @@ ylabel('
subplot(4,1,2);
CaseAREA=(UAngel-rUAngel)*100;%Relative Error of Angle in Case A
% CaseAREA=CaseAREA(2:end)*100;
plot(1:length(CaseAREA),CaseAREA,'k:','Marker','diamond');
plot(1:length(CaseAREA),abs(CaseAREA),'k:','Marker','diamond');
box off;
set(gca,'XTick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33])
xlabel('');
@ -48,7 +48,7 @@ ylabel('
subplot(4,1,3);
CaseAREP=(PD-RealPD)./(RealPD+0.00001)*100;%Relative Error of PD in Case A
% CaseAREP=CaseAREP(2:end)*100;
plot(1:length(CaseAREP),CaseAREP,'k:','Marker','diamond');
plot(1:length(CaseAREP),abs(CaseAREP),'k:','Marker','diamond');
box off;
set(gca,'XTick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33])
xlabel('');
@ -56,7 +56,7 @@ ylabel('
subplot(4,1,4);
CaseAREQ=(QD-RealQD)./(RealQD+0.00001)*100;%Relative Error of QD in Case A
% CaseAREQ=CaseAREQ(2:end)*100;
plot(1:length(CaseAREQ),CaseAREQ,'k:','Marker','diamond');
plot(1:length(CaseAREQ),abs(CaseAREQ),'k:','Marker','diamond');
box off;
set(gca,'XTick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33])
xlabel('');
@ -70,51 +70,52 @@ objA=full(sum(Vbi)+sum(PDbi)+sum(QDbi));
end
%% Case B
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapB]=subOPF(setdiff(1:Busnum,[18,21,22,29]),PD0,QD0,mVolt,sigma);%
% [Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapB]=subOPF(setdiff(1:Busnum,[18,21,22,29]),PD0,QD0,mVolt,sigma);%
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapB]=subOPF(setdiff(1:Busnum,[2,3,5,20,24,27,28,10,11,12,13]),PD0,QD0,mVolt,sigma);%
subplot(4,1,1);
hold on;
CaseBREV=(Volt-rVolt)*100;%Relative Error of Voltage in Case B
% CaseBREV=CaseBREV(2:end)*100;
plot(1:length(CaseBREV),CaseBREV,'b.:','Marker','square');
plot(1:length(CaseBREV),abs(CaseBREV),'b.:','Marker','square');
subplot(4,1,2);
hold on;
CaseBREA=(UAngel-rUAngel)*100;%Relative Error of Angle in Case B
% CaseBREA=CaseBREA(2:end)*100;
plot(1:length(CaseBREA),CaseBREA,'b:','Marker','square');
plot(1:length(CaseBREA),abs(CaseBREA),'b:','Marker','square');
subplot(4,1,3);
hold on;
CaseBREP=(PD-RealPD)./(RealPD+0.00001)*100;%Relative Error of PD in Case B
% CaseBREP=CaseBREP(2:end)*100;
plot(1:length(CaseBREP),CaseBREP,'b:','Marker','square');
plot(1:length(CaseBREP),abs(CaseBREP),'b:','Marker','square');
subplot(4,1,4);
hold on;
CaseBREQ=(QD-RealQD)./(RealQD+0.00001)*100;%Relative Error of QD in Case B
% CaseBREQ=CaseBREQ(2:end)*100;
plot(1:length(CaseBREQ),CaseBREQ,'b:','Marker','square');
plot(1:length(CaseBREQ),abs(CaseBREQ),'b:','Marker','square');
CaseBE=sqrt((sum(CaseBREV.^2)+sum(CaseBREA.^2)+sum(CaseBREP.^2)+sum(CaseBREQ.^2))/132);
objB=full(sum(Vbi)+sum(PDbi)+sum(QDbi));
%% Case C
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapC]=subOPF([1:17],PD0,QD0,mVolt,sigma);%
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi,plotGapC]=subOPF([1:33],PD0,QD0,mVolt,sigma);%
subplot(4,1,1);
hold on;
CaseCREV=(Volt-rVolt)*100;%Relative Error of Voltage in Case C
% CaseCREV=CaseCREV(2:end)*100;
plot(1:length(CaseCREV),CaseCREV,'r.:','Marker','o');
plot(1:length(CaseCREV),abs(CaseCREV),'r.:','Marker','o');
subplot(4,1,2);
hold on;
CaseCREA=(UAngel-rUAngel)*100;%Relative Error of Angle in Case C
% CaseCREA=CaseCREA(2:end)*100;
plot(1:length(CaseCREA),CaseCREA,'r:','Marker','o');
plot(1:length(CaseCREA),abs(CaseCREA),'r:','Marker','o');
subplot(4,1,3);
hold on;
CaseCREP=(PD-RealPD)./(RealPD+0.00001)*100;%Relative Error of PD in Case C
% CaseCREP=CaseCREP(2:end)*100;
plot(1:length(CaseCREP),CaseCREP,'r:','Marker','o');
plot(1:length(CaseCREP),abs(CaseCREP),'r:','Marker','o');
subplot(4,1,4);
hold on;
CaseCREQ=(QD-RealQD)./(RealQD+0.00001)*100;%Relative Error of QD in Case C
% CaseCREQ=CaseCREQ(2:end)*100;
plot(1:length(CaseCREQ),CaseCREQ,'r:','Marker','o');
plot(1:length(CaseCREQ),abs(CaseCREQ),'r:','Marker','o');
% legend
subplot(4,1,1);
% title('Voltage');

BIN
PD0.mat

Binary file not shown.

BIN
QD0.mat

Binary file not shown.

BIN
mVolt.mat

Binary file not shown.

View File

@ -90,7 +90,7 @@ lVolt(noMeasurei)=0.7*mVolt(noMeasurei);%
uVolt(noMeasurei)=0.7*mVolt(noMeasurei);
%´íÎóÊý¾Ý
%mVolt(2)=5;
bigM=1;
bigM=10;
Vbi=sparse(0.5*ones(Busnum,1));
PDbi=sparse(0.5*ones(length(Loadi),1));
QDbi=sparse(0.5*ones(length(Loadi),1));
@ -175,15 +175,15 @@ while(abs(Gap)>Precision*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;
if KK>22
if KK>0
eps=eps*0.1;
if abs(eps)<1e-6
eps=1e-5;
end
eps;
if any(Vbi>0.002)
Vbi(Vbi>0.002)=1;
end
% if any(Vbi>0.002)
% Vbi(Vbi>0.002)=1;
% end
end
Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD,RealPD,RealQD,Loadi,KK,PF,eps);
Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF,eps);