From 779c2d0e1619d704ff05c5b2da2375a711df05e9 Mon Sep 17 00:00:00 2001 From: "dugg@lab-desk" Date: Fri, 23 Jan 2015 21:27:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E8=AE=A4=E7=9C=9F=E5=86=99?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E6=9C=9F=E5=88=8A=E3=80=82=201.=E6=8A=8A?= =?UTF-8?q?=E5=9B=BE=E8=A1=A8=E6=94=B9=E6=88=90=E7=BB=9D=E5=AF=B9=E5=80=BC?= =?UTF-8?q?=E3=80=82=202.=E6=89=BE=E5=88=B0=E4=B8=80=E4=B8=AA=E6=AF=94?= =?UTF-8?q?=E8=BE=83=E5=A5=BD=E7=9A=84=E9=9A=8F=E6=9C=BA=E6=95=B0=E5=80=BC?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dugg@lab-desk --- OPF.m | 41 +++++++++++++++++++++-------------------- PD0.mat | Bin 534 -> 534 bytes QD0.mat | Bin 533 -> 530 bytes mVolt.mat | Bin 457 -> 458 bytes subOPF.m | 10 +++++----- 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/OPF.m b/OPF.m index b1f8dab..bbb134f 100644 --- a/OPF.m +++ b/OPF.m @@ -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'); diff --git a/PD0.mat b/PD0.mat index 9caa533f6705ba523dda13504a6fa562646bc747..db6d1f31d988fce42933f5328c4155ae4eab4401 100644 GIT binary patch delta 319 zcmbQnGL2<|k%U`Orh->uo`R9Ff{~$>k%^U&se+M#q3Ogx?THEO6KmS)=XUP8|LE|> z%m3!o7yn6VeEV(ovb46i-CNJcX+>78J94e`+rRhQpa0#l>D)i3_Unh|eVP1C|I%ld z=kIJY^%Z_^`}1v0={G(Z*6#H)*KOAKn;iQ0NA1kNC*N%97QS`;=KU#lOE&A*&i(sF zVw<}R|F@grYdh>NY^a|5*Sm50+IimBZq|Pe?I^$bb=~IwLWzr3&e(l--tEeM$94b9 zeoOky-q!W^e%kwj(vy=o{=NOy*VDF8_2lih_kH*LnYA)y_unH1pUX<`-u~w1zkSPH zyVBEj{*$K1`(C%I-r1m9xO4vXoA&2#Zr53wGWYMFr_Ys^1bw?HzjxJE+YK+5{MCAW kdj6M5e7CQQJu5!DrMCE#-G_JizgI55ev_G@$+PJI0809}u>b%7 delta 319 zcmbQnGL2<|kwi#FsX}mSfr5dFf}x?6fw`5Dse+M#p~=KR?THEO6KmS)Q@^WAmQ}pn z5-+5_^HNOa?!6~ZzB_BC|NUn1HJ@7_G9Fe{ubX~NceVf8&G#+-{&_ohruy5*%h$)A zt9iYoHt=5{Z{M-fZ-JN8ebVIqtG+`2%>Dgm z|NXe~(zEva_M7Q1H=h4nlsuo`R9Ff{~$>k%^VDfr62Nq3Ogx?THEO6KgmayC$~Q*2i8l zoo=tT;htUcri5K_zlDBRvn}U)aXWvbeW}BijlZwk{I+#-7rQsh=IFl(uQrB0S9`z3 z{!?Vj&c%7l|L#5UwMVfq_zm~@7Or#a=OnHFym+_8wxW5pzhh>WuL&2s#ocy$E4yBN zM*j6(zV*(3#D1InG+u9YDC*7J)2%^U()>1_uU|POF(-@GR?zlBelzx7W!`>yXNgd5*pH@kIx!b5kwi#FsX}mSfr5dFf}x?6fw`5Dfr62Np~=KR?THEO6KgmadndNm)`$M- z`F_@N+qt@h|BgmI{iOO$G}AWjyIJ1G?Or!x1KyjSkE=VlvSDUX@SEjjc`wCkc3!@B z@LoBHYJf+}>kmv-&d>i;bC_o(-q*Usyv zuGfi5`hOvIjo!+<&f17|Z2j)ng?_IRUT*2bHSNavs6+QQ?WkB<`*Qaei`v_hzfEh? zx2>r0yX7Ca*X(h@8=vZp>TeuhMH;^i=KGSeam~!6`M0nB)XRA3R(+DMt=Rgi{B8L% kq0DQRTQB~5D_Rx3t!7^Ax8nHs`+xh@blNf)pQ>F00LsCu5&!@I diff --git a/mVolt.mat b/mVolt.mat index 34197eca9f2cbfe8c1f68e4c404a0ce98ca56381..6969da95db12c44b2b4c08818c4c525479697baf 100644 GIT binary patch delta 330 zcmX@fe2RI3k%U`Orh->uo`R9Ff{~$>k*SrTfr62Nq3Ogx?THEO6KgmaohG(w*MD2Y z|GdW4?#BGCpbs^lpYHv8c=?^s=j--uFaM>z?|AU*y|oG5tB$1{{Qhmb#QlGB*ZjHn z@6%*)FaKxzH;d2C*{lBPS9G=Pu}u$z``*9dpI24Wv-8bb+vulul@oLG-`=11^+LkE z|JU}}#5UC5>f8S9brH`ZsXO;>Nf%}BiZb&v8OVPhizLoEqbZzg(`zZ%M zt$+7Zy87vzuvVd^{NLK2hCN%oraHfVlJU~O^7qxh!>#}N{Fq^XBcCHtZ{E>Q2klba zXJ-HGEB|Jr$rh;oZO>-@p7IU0?|z?)`~M{I=<2ffZ^HLYseJI^)7rl|-;zWRZrlEC uyXoI~?{|H^7MCNlZSjgOkqfnp`bCs4-@B!sHqAe2?*D6Y45wB#TLA!Z=eH36 delta 329 zcmX@be3E&Bkwi#FsX}mSfr5dFf}x?6fw`5TiGq=Vp~=KR?THEO6Kgma9VfPG*Sl71 zKb`-S|J$aMuhY-Y{(JAwn}w-(;&F=k~>@M;X1oY5jYRw`sBOv;CX* zFHxQT-Q~^Py@v6ZOC;x(e|uQ}Z%)Fxy6pNzIrDp7F5Ld@Rowc2Z|c8at2>o1uQ<17 z`!{XVpRSje+`DD`?q=S?^`EZQ9lL31Z)C)Hklj2EBE|gTl?>fu4Q`TmL&_`CY|22{hOzc s&s0Cb{I^eY!k$Y@a_!lAe{+Ku?s5vvDTJBhrMGb0P(o9vj6}9 diff --git a/subOPF.m b/subOPF.m index f61e831..352cce6 100644 --- a/subOPF.m +++ b/subOPF.m @@ -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);