72 lines
2.4 KiB
Matlab
72 lines
2.4 KiB
Matlab
clc
|
||
clear
|
||
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:\ËãÀý\17\17.csv');
|
||
sigma=0.01;
|
||
RealPD=PD;
|
||
RealQD=QD;
|
||
rVolt=Volt;
|
||
Loadi=find(PD~=0);
|
||
PD0=sparse(Busnum,1);
|
||
QD0=sparse(Busnum,1);
|
||
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))';
|
||
%% »Case AµÄͼ
|
||
figV=figure();
|
||
[Busnum,Loadi,Volt,PD,QD,rVolt,UAngel,RealPD,RealQD,rUAngel,Vbi,PDbi,QDbi]=subOPF([],PD0,QD0,mVolt,sigma);%È«²¿ÓÐ
|
||
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');
|
||
% »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');
|
||
obj=sum(Vbi)+sum(PDbi)+sum(QDbi);
|
||
fprintf('Ä¿±êº¯ÊýÖµ %.2f\n',full(obj));
|
||
|