2012-07-30 15:57:40 +08:00
|
|
|
|
clc
|
2012-05-22 11:33:21 +08:00
|
|
|
|
clear
|
2014-07-21 21:49:50 +08:00
|
|
|
|
close
|
2014-05-13 16:48:46 +08:00
|
|
|
|
[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]= ...
|
2014-07-20 21:08:16 +08:00
|
|
|
|
pf('E:\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\17\17.csv');
|
2014-05-21 15:35:43 +08:00
|
|
|
|
sigma=0.01;
|
2014-07-21 21:49:50 +08:00
|
|
|
|
RealPD=PD;
|
|
|
|
|
|
RealQD=QD;
|
|
|
|
|
|
rVolt=Volt;
|
|
|
|
|
|
Loadi=find(PD~=0);
|
|
|
|
|
|
PD0=sparse(Busnum,1);
|
|
|
|
|
|
QD0=sparse(Busnum,1);
|
2014-07-19 16:30:16 +08:00
|
|
|
|
PD0(Loadi)=RealPD(Loadi).*(1+normrnd(0,sigma,length(Loadi),1));
|
|
|
|
|
|
QD0(Loadi)=RealQD(Loadi).*(1+normrnd(0,sigma,length(Loadi),1));
|
|
|
|
|
|
mVolt=rVolt.*(1+normrnd(0,sigma,length(rVolt),1))';
|
2014-07-21 21:49:50 +08:00
|
|
|
|
%% <EFBFBD><EFBFBD>Case A<EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
figV=figure();
|
|
|
|
|
|
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi]=subOPF([],PD0,QD0,mVolt,sigma);%ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
subplot(4,1,1);
|
|
|
|
|
|
plot(1:Busnum,Volt-rVolt,'b.:','Marker','diamond');
|
|
|
|
|
|
subplot(4,1,2);
|
|
|
|
|
|
plot(1:Busnum,UAngel-rUAngel,'b:','Marker','diamond');
|
|
|
|
|
|
subplot(4,1,3);
|
|
|
|
|
|
plot(1:Busnum,(PD-RealPD)./(RealPD+0.00001),'b:','Marker','diamond');
|
|
|
|
|
|
subplot(4,1,4);
|
|
|
|
|
|
plot(1:Busnum,(QD-RealQD)./(RealQD+0.00001),'b:','Marker','diamond');
|
|
|
|
|
|
%% Case B
|
|
|
|
|
|
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi]=subOPF(cat(2,[1,2,3,4,5,11,12,13,16],[18,19]),PD0,QD0,mVolt,sigma);%
|
|
|
|
|
|
% [Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi]=subOPF(cat(2,[1,2,3,4,6,7],[]),PD0,QD0,mVolt,sigma);%
|
|
|
|
|
|
subplot(4,1,1);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,Volt-rVolt,'g.:','Marker','square');
|
|
|
|
|
|
subplot(4,1,2);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,UAngel-rUAngel,'g:','Marker','square');
|
|
|
|
|
|
subplot(4,1,3);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,(PD-RealPD)./(RealPD+0.00001),'g:','Marker','square');
|
|
|
|
|
|
subplot(4,1,4);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,(QD-RealQD)./(RealQD+0.00001),'g:','Marker','square');
|
|
|
|
|
|
%% Case C
|
|
|
|
|
|
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi]=subOPF([1:17],PD0,QD0,mVolt,sigma);%
|
|
|
|
|
|
subplot(4,1,1);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,Volt-rVolt,'r.:','Marker','o');
|
|
|
|
|
|
subplot(4,1,2);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,UAngel-rUAngel,'r:','Marker','o');
|
|
|
|
|
|
subplot(4,1,3);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,(PD-RealPD)./(RealPD+0.00001),'r:','Marker','o');
|
|
|
|
|
|
subplot(4,1,4);
|
|
|
|
|
|
hold on;
|
|
|
|
|
|
plot(1:Busnum,(QD-RealQD)./(RealQD+0.00001),'r:','Marker','o');
|
|
|
|
|
|
% <EFBFBD><EFBFBD>legend
|
|
|
|
|
|
subplot(4,1,1);
|
|
|
|
|
|
title('Voltage');
|
|
|
|
|
|
legend('Case A','Case B','Case C');
|
|
|
|
|
|
subplot(4,1,2);
|
|
|
|
|
|
title('Voltage Angle');
|
|
|
|
|
|
legend('Case A','Case B','Case C');
|
|
|
|
|
|
subplot(4,1,3);
|
|
|
|
|
|
title('Active load power');
|
|
|
|
|
|
legend('Case A','Case B','Case C');
|
|
|
|
|
|
subplot(4,1,4);
|
|
|
|
|
|
title('Reactive load power');
|
|
|
|
|
|
legend('Case A','Case B','Case C');
|
2014-07-19 16:30:16 +08:00
|
|
|
|
obj=sum(Vbi)+sum(PDbi)+sum(QDbi);
|
|
|
|
|
|
fprintf('Ŀ<EFBFBD>꺯<EFBFBD><EFBFBD>ֵ %.2f\n',full(obj));
|
2012-05-22 11:33:21 +08:00
|
|
|
|
|