From 59f7810cab7787fb378ba54af1433822d29a0343 Mon Sep 17 00:00:00 2001 From: dmy Date: Thu, 26 Sep 2013 22:04:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=BC=E4=B9=8E=E5=85=AC=E5=BC=8F=E6=B2=A1?= =?UTF-8?q?=E6=8E=A8=E9=94=99=EF=BC=8C=E5=8F=AA=E6=98=AF=E7=89=9B=E9=A1=BF?= =?UTF-8?q?=E6=B3=95=E5=AF=B9=E5=88=9D=E5=80=BC=E6=95=8F=E6=84=9F=EF=BC=8C?= =?UTF-8?q?=E5=B8=A6=E5=85=A5=E6=BD=AE=E6=B5=81=E7=9A=84=E7=94=B5=E5=8E=8B?= =?UTF-8?q?=E5=92=8C=E7=9B=B8=E8=A7=92=E8=BF=AD=E4=BB=A3=E5=87=A0=E6=AC=A1?= =?UTF-8?q?=E5=B0=B1=E5=8F=AF=E4=BB=A5=E6=94=B6=E6=95=9B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dmy --- .gitignore | 5 +- BranchI.m | 2 +- Powerflow | 1 + mBranchI.mat | Bin 374 -> 0 bytes mBranchP.mat | Bin 357 -> 0 bytes mBranchQ.mat | Bin 373 -> 0 bytes mPG.mat | Bin 196 -> 0 bytes mQG.mat | Bin 217 -> 0 bytes mTransP.mat | Bin 205 -> 0 bytes mTransQ.mat | Bin 206 -> 0 bytes mVolt.mat | Bin 334 -> 0 bytes run.m | 461 ++++++++++++++++++++++++++++++++++++++------ 公式/公式.tex | 71 ++++++- 公式/内点法公式.tex | 12 +- 14 files changed, 484 insertions(+), 68 deletions(-) create mode 160000 Powerflow delete mode 100644 mBranchI.mat delete mode 100644 mBranchP.mat delete mode 100644 mBranchQ.mat delete mode 100644 mPG.mat delete mode 100644 mQG.mat delete mode 100644 mTransP.mat delete mode 100644 mTransQ.mat delete mode 100644 mVolt.mat diff --git a/.gitignore b/.gitignore index 9bdf9ce..2453e8b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ -/Powerflow +/Powerflow /公式/*.aux /公式/*.log /公式/*.pdf /公式/*.synctex.gz(busy) -*.asv \ No newline at end of file +*.asv +*.mat \ No newline at end of file diff --git a/BranchI.m b/BranchI.m index bff13ef..47906e4 100644 --- a/BranchI.m +++ b/BranchI.m @@ -1,5 +1,5 @@ function [ output_args ] = BranchI( V,lineI,lineJ,lineR,lineX,lineB2 ) -output_args=(V(lineI)-V(lineJ))./(lineR+1j*lineX)+V(lineI).*lineB2; +output_args=(V(lineI)-V(lineJ))./(lineR+1j*lineX)+V(lineI).*(1j*lineB2); end diff --git a/Powerflow b/Powerflow new file mode 160000 index 0000000..a8da7f9 --- /dev/null +++ b/Powerflow @@ -0,0 +1 @@ +Subproject commit a8da7f966d23827f01fec553a52bab3186c8a35c diff --git a/mBranchI.mat b/mBranchI.mat deleted file mode 100644 index 561bacf2486bf09e864b1d9aabc0f2ba61bb4ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w>_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYi`V_;yYnDaO}At4|kB_VnQ{d~Z$O*zG1jDOp9UB4%r zRFkLw*yepj#RunV!<+rQV*AYBmhzRes>j>rpPyN!Q$GK$@bC5g`_`}BdN1dFf!3k@ z*Ry8V3RP!xJ^jDH+n-`qDz ieNh*=_gdY)+*8amS6aU_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYjRWnf^anDaO}AweJ^B_VJe%l_Ab~WVZ^PApU-u@hSVw2<*KRwR!ow#`Ki*KsWUtRxsV}5E{ z<;ufS`SZ`L*jV#kXrFC({nAyH^MW^guZynvxMXVA-&c9cPkn0DtMA&M^?p{*yT!ix QQNfoskIHI>KOgNA0BD7ZW&i*H diff --git a/mBranchQ.mat b/mBranchQ.mat deleted file mode 100644 index 53d64090b460afffc7ab503c0b2c1a0a0a321e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w>_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYi`Wnf^anDaO}At4|kB_VnZT7oe-%SY0pIm!?=A!tlslspGFWdLwg_T@J{q~O4 z=||Tn{9e28`m%lT^U~)pd;h_>AakMZ={rZiHQj#wW_L`omie@qx3AB9*`^v3wC(@@ j^h^Bf>JNU~uDe}yO^)w2@hP!;C+J@}A;+Mj_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYjNFfcGw%z2!gkPyLeB*))bkF>3=9G5I4=MI D+I%;5 diff --git a/mQG.mat b/mQG.mat deleted file mode 100644 index f1f11f6c6eb96e8b3e2f624646e4c45efeda5f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w>_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYg&GB7Yy%z2!gkPyLeB*)_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYi?GB7Yy%z2!gkifx^WTx<} z;gZ4uuBXP#hRPzFnG5qg0+Zqj8JN{4=rSJJw2s}`sX{i#PG|RWk^OG>+&+2U`(z|p LFU`QM!SfLS50o`y diff --git a/mTransQ.mat b/mTransQ.mat deleted file mode 100644 index 3e328057a4973d0f78a4680214ff8c404f2d61a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w>_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYi?F)%Px%z2!gkifx^WTx<} z;gZ4uuBXP#hRPzFnG5qg0+Zqj6`0j0=rSI;R_$LW7-^8a|B_JS^UJT*-o%?#&+41< M`qf_s3k3lM0Cx{KiU0rr diff --git a/mVolt.mat b/mVolt.mat deleted file mode 100644 index 63417b73c405dc439a11d0c6a43a3a75c7ab2903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w>_Ia4t$sEJ;mK$j`G< z2q{ffa4aZNFfvv!G_x`=v@$eNFfuSSRv;NLFnap(GcYh5V_;yYnDaO}A>jw(ksOCJ zj7Qcm@$l3rNS$KeD7jEVWt#M~`N2%7(FP6-9(|l0GaF~HYOx#j%Vx2u3luXNnhShp zFw~#)lPAF1A&aZwhf?|JlYdvrzm1nV;l0=5!@+;&jHWLBU$%F%`4`U*bF+S)yZ7?D z({Yu*{NIdom%ARx|C_P?Y|V40NiW>1|K3~uf8O-^E#>L|)K9$oaB<(8mE{w6-eLc3 tzxnaKn)ojl?``~GdcJoO|F=VPFY?F7{7d+6o%gnX-4y1e-6)); W=sparse(diag(1./measureSigma.^2)) ; -% W=sparse(1:length(W),1:length(W),400,length(W),length(W)); +W=sparse(1:length(W),1:length(W),1,length(W),length(W)); %% ȼ stateVarCount=2*length(Volt); measurements=length(mVolt)+length(mBranchI)+length(mBranchP)+length(mBranchQ)+length(mPG)+length(mQG)+length(mTransP)+length(mTransQ); @@ -99,8 +107,17 @@ fprintf(' %% Լд΢ִ % ʼһЩֵ SEVolt=sparse(ones(length(mVolt),1)); -SEVolt(Balance)=rVolt(Balance); -SEVAngle=sparse(zeros(length(mVolt),1)); +SEVolt=rVolt; +% SEVolt(1:2:end)=1.2; +% load('SEVolt'); +% load('SEVAngle'); +%SEVolt(Balance)=rVolt(Balance); +SEVAngle=-0.1*sparse(ones(length(mVolt),1)); +SEVAngle=rVAngel; +% SEVolt2= load('SEVolt2'); +% SEVolt2=SEVolt2.SEVolt; +% SEVAngle2= load('SEVAngle2'); +% SEVAngle2=SEVAngle2.SEVAngle; maxD=1000; Iteration=0; optimalCondition=100; @@ -110,8 +127,8 @@ v=2; ojbFunDecrease=1000;% Ŀ꺯½ % ¶Jacobi % while max(abs(g))>1e-5; -% while maxD>1e-5 -while max(abs(optimalCondition))>eps + while maxD>1e-5 +%while max(abs(optimalCondition))>eps % ѹ dV_dV=sparse(1:length(mVolt),1:length(mVolt),1,length(mVolt),length(mVolt));%ѹ΢ dV_dTyta=sparse(length(mVolt),length(mVolt)); @@ -138,6 +155,7 @@ while max(abs(optimalCondition))>eps )... ,length(lineI),length(mVolt));%· + dLPij=[dLPij_dVi+dLPij_dVj,dLPij_dThetai+dLPij_dThetaj]; dLQij_dVi=sparse(1:length(lineI),lineI, ... -SEVolt(lineJ).*( ... lineG.*sin(SEVAngle(lineI)-SEVAngle(lineJ)) -lineB.*cos(SEVAngle(lineI)-SEVAngle(lineJ))... @@ -159,6 +177,7 @@ while max(abs(optimalCondition))>eps lineG.*cos(SEVAngle(lineI)-SEVAngle(lineJ)) +lineB.*sin(SEVAngle(lineI)-SEVAngle(lineJ))... ) ... ,length(lineI),length(mVolt));%· + dLQij=[dLQij_dVi+dLQij_dVj,dLQij_dThetai+dLQij_dThetaj]; % ѹ֧· dTPij_dVi=sparse(1:length(transI),transI, ... -SEVolt(transJ)./transK.*( ... @@ -232,84 +251,402 @@ while max(abs(optimalCondition))>eps % nodePQ=[nodeP;nodeQ]; % c=nodePQ(zerosInjectionIndex); %% - % һ׵ - H=[dV_dV,dV_dTyta; - dLPij_dVi+dLPij_dVj,dLPij_dThetai+dLPij_dThetaj ; - dLQij_dVi+dLQij_dVj,dLQij_dThetai+dLQij_dThetaj ; - dTPij_dVi+dTPij_dVj,dTPij_dThetai+dTPij_dThetaj; - dTQij_dVi+dTQij_dVj,dTQij_dThetai+dTQij_dThetaj];%jacobi - % ׵ - - SEBranchI=BranchI( SEVolt.*exp(1j*SEVAngle),lineI,lineJ,lineR,lineX,lineB2 );%֧· SEBranchP=BranchP( SEVolt.*exp(1j*SEVAngle),SEBranchI,lineI,lineB2 ); SEBranchQ=BranchQ( SEVolt.*exp(1j*SEVAngle),SEBranchI,lineI,lineB2 ); SETransP=TransPower( newwordParameter,SEVolt,SEVAngle ); SETransQ=TransReactivePower( newwordParameter,SEVolt,SEVAngle ); h=[SEVolt;SEBranchP;SEBranchQ;SETransP;SETransQ]; + +% load('mBranchP'); +% mBranchQ=mBranchP; +% mTransP=mBranchP(1:length(mTransP)); +% mTransQ=mBranchP(1:length(mTransQ)); +% mVolt=mBranchP(1:length(mVolt)); + %mBranchP=[0.284828008908987,-0.0282291720369099,-0.296295663000711]'; +% load('mTransP'); +% mTransP=mTransP'; +% mTransQ=mTransP; z=[mVolt;mBranchP;mBranchQ;mTransP;mTransQ]; - G=H'*W*H; - g=-H'*W*(z-h); + Whz=W*(h-z);%γɺɭʱʹ - % γɴ - % a=[G C'; - % C zeros(size(C,1),size(C,1))]; - % b=[-g;-c]; - % Levenber-Marquardt - % if Iteration==0 - % mu=max(diag(G)); - % end + %% һ׵ + H=[dV_dV,dV_dTyta; + dLPij_dVi+dLPij_dVj,dLPij_dThetai+dLPij_dThetaj ; + dLQij_dVi+dLQij_dVj,dLQij_dThetai+dLQij_dThetaj ; + dTPij_dVi+dTPij_dVj,dTPij_dThetai+dTPij_dThetaj; + dTQij_dVi+dTQij_dVj,dTQij_dThetai+dTQij_dThetaj];%jacobi + %% ׵ + % ·׵ + % Եѹ + d2LPij_dVi2=sparse(lineI,lineI, ... + 2*lineG.*Whz(length(mVolt)+1:length(mVolt)+length(lineI)),... + varNum,varNum);%·йɭ + d2LPij_dVidVj=sparse(lineI,lineJ, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .* ( -(cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB)), ... + varNum,varNum);%·йɭ + d2LPij_dVj2=0;%·йɭ + %% +% d2LPij_dVi2=sparse(lineI,lineI, ... +% 2*lineG ,... +% varNum,varNum);%·йɭ +% d2LPij_dVidVj=sparse(lineI,lineJ, ... +% 1 ... +% .* ( -(cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB)), ... +% varNum,varNum);%·йɭ +% d2LPij_dVj2=0;%·йɭ +% t1=d2LPij_dVi2+d2LPij_dVidVj+d2LPij_dVidVj'; + % + d2LPij_dTi2=sparse(lineI+busNum,lineI+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... + varNum,varNum);%·йɭ + d2LPij_dTidTj=sparse(lineI+busNum,lineJ+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .*(-SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB) ), ... + varNum,varNum);%·йɭ + d2LPij_dTj2=sparse(lineJ+busNum,lineJ+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... + varNum,varNum);%·йɭ + %% +% d2LPij_dTi2=sparse(lineI+busNum,lineI+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·йɭ +% d2LPij_dTidTj=sparse(lineI+busNum,lineJ+busNum, ... +% 1 ... +% .*(-SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LPij_dTj2=sparse(lineJ+busNum,lineJ+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·йɭ +% t2=d2LPij_dTi2+d2LPij_dTidTj+d2LPij_dTj2+d2LPij_dTidTj'; + %% +% d2LPij_dTi2=sparse(lineI+busNum,lineI+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·йɭ +% d2LPij_dTidTj=sparse(lineI+busNum,lineJ+busNum, ... +% 1 ... +% .*(-SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LPij_dTj2=sparse(lineJ+busNum,lineJ+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG + sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·йɭ +% t=d2LPij_dTi2+d2LPij_dTidTj+d2LPij_dTidTj'+d2LPij_dTj2; + %% + % Եѹ + d2LPij_dVidTi=sparse(lineI,lineI+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .* (SEVolt(lineJ).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LPij_dVidTj=sparse(lineI,lineJ+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .* (-SEVolt(lineJ).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LPij_dVjdTi=sparse(lineJ,lineI+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .* (SEVolt(lineI).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LPij_dVjdTj=sparse(lineJ,lineJ+busNum, ... + Whz(length(mVolt)+1:length(mVolt)+length(lineI))... + .* (-SEVolt(lineI).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + %% +% d2LPij_dVidTi=sparse(lineI,lineI+busNum, ... +% 1 ... +% .* (SEVolt(lineJ).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LPij_dVidTj=sparse(lineI,lineJ+busNum, ... +% 1 ... +% .* (-SEVolt(lineJ).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LPij_dVjdTi=sparse(lineJ,lineI+busNum, ... +% 1 ... +% .* (SEVolt(lineI).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LPij_dVjdTj=sparse(lineJ,lineJ+busNum, ... +% 1 ... +% .* (-SEVolt(lineI).* (sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% t3=d2LPij_dVidTi+d2LPij_dVidTj+d2LPij_dVjdTi+d2LPij_dVjdTj; +% t=t1+t2+t3+t3'; + % Եѹ + d2LQij_dVi2=sparse(lineI,lineI, ... + -2*(lineB+lineB2).*Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2),... + varNum,varNum);%·޹ɭ + d2LQij_dVidVj=sparse(lineI,lineJ, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2) ... + .*( -(sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB)), ... + varNum,varNum);%·޹ɭ + d2LQij_dVj2=0;%·޹ɭ + +% d2LQij_dVi2=sparse(lineI,lineI, ... +% -2*(lineB+lineB2),... +% varNum,varNum);%·޹ɭ +% d2LQij_dVidVj=sparse(lineI,lineJ, ... +% 1 ... +% .*( -(sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG - cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB)), ... +% varNum,varNum);%·޹ɭ +% d2LQij_dVj2=0;%·޹ɭ +% t1=d2LQij_dVi2+d2LQij_dVidVj+d2LQij_dVj2+d2LQij_dVidVj'; + % + d2LQij_dTi2=sparse(lineI+busNum,lineI+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .*SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... + varNum,varNum);%·޹ɭ + d2LQij_dTidTj=sparse(lineI+busNum,lineJ+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .*(-SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB)), ... + varNum,varNum);%·޹ɭ + d2LQij_dTj2=sparse(lineJ+busNum,lineJ+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .*SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... + varNum,varNum);%·޹ɭ + +% d2LQij_dTi2=sparse(lineI+busNum,lineI+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·޹ɭ +% d2LQij_dTidTj=sparse(lineI+busNum,lineJ+busNum, ... +% 1 ... +% .*(-SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB)), ... +% varNum,varNum);%·޹ɭ +% d2LQij_dTj2=sparse(lineJ+busNum,lineJ+busNum, ... +% 1 ... +% .*SEVolt(lineI).*SEVolt(lineJ).*( sin( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineG - cos( SEVAngle(lineI) -SEVAngle(lineJ) ).*lineB), ... +% varNum,varNum);%·޹ɭ +% t2=d2LQij_dTi2+d2LQij_dTidTj+d2LQij_dTj2+d2LQij_dTidTj'; + % Եѹ + d2LQij_dVidTi=sparse(lineI,lineI+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .* (-SEVolt(lineJ).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LQij_dVidTj=sparse(lineI,lineJ+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .* (SEVolt(lineJ).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LQij_dVjdTi=sparse(lineJ,lineI+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .* (-SEVolt(lineI).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + d2LQij_dVjdTj=sparse(lineJ,lineJ+busNum, ... + Whz(length(mVolt)+length(lineI)+1:length(mVolt)+length(lineI)*2)... + .* (SEVolt(lineI).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... + varNum,varNum);%·йɭ + +% d2LQij_dVidTi=sparse(lineI,lineI+busNum, ... +% 1 ... +% .* (-SEVolt(lineJ).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LQij_dVidTj=sparse(lineI,lineJ+busNum, ... +% 1 ... +% .* (SEVolt(lineJ).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LQij_dVjdTi=sparse(lineJ,lineI+busNum, ... +% 1 ... +% .* (-SEVolt(lineI).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% d2LQij_dVjdTj=sparse(lineJ,lineJ+busNum, ... +% 1 ... +% .* (SEVolt(lineI).* (cos(SEVAngle(lineI) -SEVAngle(lineJ)).*lineG + sin(SEVAngle(lineI) -SEVAngle(lineJ)).*lineB) ), ... +% varNum,varNum);%·йɭ +% t3=d2LQij_dVidTi+d2LQij_dVidTj+d2LQij_dVjdTi+d2LQij_dVjdTj; +% t=t1+t2+t3; + %% ѹ׵ + % Եѹ + d2TPij_dVi2=sparse(transI,transI, ... + 2*transG./transK./transK.*Whz(length(mVolt)+2*length(lineI)+1:length(mVolt)+2*length(lineI)+length(transI)),... + varNum,varNum);%ѹйɭ + d2TPij_dVidVj=sparse(transI,transJ, ... + Whz(length(mVolt)+2*length(lineI)+1:length(mVolt)+2*length(lineI)+length(transI))... + .* ( -(cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB)./transK), ... + varNum,varNum);%ѹйɭ + d2TPij_dVj2=0;%ѹйɭ + +% d2TPij_dVi2=sparse(transI,transI, ... +% 2*transG./transK./transK.*1,... +% varNum,varNum);%ѹйɭ +% d2TPij_dVidVj=sparse(transI,transJ, ... +% 1 ... +% .* ( -(cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB)./transK), ... +% varNum,varNum);%ѹйɭ +% d2TPij_dVj2=0;%ѹйɭ + + ggg=H(busNum+length(lineI)*2+1:busNum+length(lineI)*2+length(transI),:)'*H(busNum+length(lineI)*2+1:busNum+length(lineI)*2+length(transI),:)+d2TPij_dVi2+d2TPij_dVidVj+d2TPij_dVidVj'; +% d2TPij_dVi2=sparse(transI,transI, ... +% 2*transG./transK./transK.*1,... +% varNum,varNum);%ѹйɭ +% d2TPij_dVidVj=sparse(transI,transJ, ... +% 1 ... +% .* ( -(cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB)./transK), ... +% varNum,varNum);%ѹйɭ +% d2TPij_dVj2=0;%ѹйɭ +% t1=d2TPij_dVi2+d2TPij_dVidVj+d2TPij_dVidVj'; + % + d2TPij_dTi2=sparse(transI+busNum,transI+busNum, ... + Whz(length(mVolt)+2*length(lineI)+1:length(mVolt)+2*length(lineI)+length(transI))... + .*SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... + varNum,varNum);%·йɭ + d2TPij_dTidTj=sparse(transI+busNum,transJ+busNum, ... + Whz(length(mVolt)+2*length(lineI)+1:length(mVolt)+2*length(lineI)+length(transI))... + .*(-SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB) ), ... + varNum,varNum);%·йɭ + d2TPij_dTj2=sparse(transJ+busNum,transJ+busNum, ... + Whz(length(mVolt)+2*length(lineI)+1:length(mVolt)+2*length(lineI)+length(transI))... + .*SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... + varNum,varNum);%·йɭ + +% d2TPij_dTi2=sparse(transI+busNum,transI+busNum, ... +% 1 ... +% .*SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... +% varNum,varNum);%·йɭ +% d2TPij_dTidTj=sparse(transI+busNum,transJ+busNum, ... +% 1 ... +% .*(-SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB) ), ... +% varNum,varNum);%·йɭ +% d2TPij_dTj2=sparse(transJ+busNum,transJ+busNum, ... +% 1 ... +% .*SEVolt(transI).*SEVolt(transJ)./transK.*( cos( SEVAngle(transI) -SEVAngle(transJ) ).*transG + sin( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... +% varNum,varNum);%·йɭ +% t2=d2TPij_dTi2+d2TPij_dTidTj+d2TPij_dTj2+d2TPij_dTidTj'; + + % Եѹ + d2TPij_dVidTi=sparse(transI,transI+busNum, ... + Whz(length(mVolt)+length(lineI)*2+1:length(mVolt)+length(lineI)*2+length(transI)) ... + .* (SEVolt(transJ)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TPij_dVidTj=sparse(transI,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+1:length(mVolt)+length(lineI)*2+length(transI)) ... + .* (-SEVolt(transJ)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TPij_dVjdTi=sparse(transJ,transI+busNum, ... + Whz(length(mVolt)+length(lineI)*2+1:length(mVolt)+length(lineI)*2+length(transI)) ... + .* (SEVolt(transI)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TPij_dVjdTj=sparse(transJ,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+1:length(mVolt)+length(lineI)*2+length(transI)) ... + .* (-SEVolt(transI)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + + % Եѹ +% d2TPij_dVidTi=sparse(transI,transI+busNum, ... +% 1 ... +% .* (SEVolt(transJ)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... +% varNum,varNum);%·йɭ +% d2TPij_dVidTj=sparse(transI,transJ+busNum, ... +% 1 ... +% .* (-SEVolt(transJ)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... +% varNum,varNum);%·йɭ +% d2TPij_dVjdTi=sparse(transJ,transI+busNum, ... +% 1 ... +% .* (SEVolt(transI)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... +% varNum,varNum);%·йɭ +% d2TPij_dVjdTj=sparse(transJ,transJ+busNum, ... +% 1 ... +% .* (-SEVolt(transI)./transK.* (sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... +% varNum,varNum);%·йɭ +% t3=d2TPij_dVidTi+d2TPij_dVidTj+d2TPij_dVjdTi+d2TPij_dVjdTj; +% t=t1+t2+t3+t3'; + % Եѹ + d2TQij_dVi2=sparse(transI,transI, ... + -2*transB./transK./transK.*Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2),... + varNum,varNum);%ѹ޹ɭ + d2TQij_dVidVj=sparse(transI,transJ, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2) ... + .*( -(sin(SEVAngle(transI) -SEVAngle(transJ)).*transG - cos(SEVAngle(transI) -SEVAngle(transJ)).*transB)./transK), ... + varNum,varNum);%ѹ޹ɭ + d2TQij_dVj2=0;%ѹ޹ɭ + % + d2TQij_dTi2=sparse(transI+busNum,transI+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .*SEVolt(transI).*SEVolt(transJ)./transK.*( sin( SEVAngle(transI) -SEVAngle(transJ) ).*transG - cos( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... + varNum,varNum);%ѹ޹ɭ + d2TQij_dTidTj=sparse(transI+busNum,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .*(-SEVolt(transI).*SEVolt(transJ)./transK.*( sin( SEVAngle(transI) -SEVAngle(transJ) ).*transG - cos( SEVAngle(transI) -SEVAngle(transJ) ).*transB)), ... + varNum,varNum);%ѹ޹ɭ + d2TQij_dTj2=sparse(transJ+busNum,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .*SEVolt(transI).*SEVolt(transJ)./transK.*( sin( SEVAngle(transI) -SEVAngle(transJ) ).*transG - cos( SEVAngle(transI) -SEVAngle(transJ) ).*transB), ... + varNum,varNum);%ѹ޹ɭ + % Եѹ + d2TQij_dVidTi=sparse(transI,transI+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .* (-SEVolt(transJ)./transK.* (cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TQij_dVidTj=sparse(transI,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .* (SEVolt(transJ)./transK.* (cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TQij_dVjdTi=sparse(transJ,transI+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .* (-SEVolt(transI)./transK.* (cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + d2TQij_dVjdTj=sparse(transJ,transJ+busNum, ... + Whz(length(mVolt)+length(lineI)*2+length(transI)+1:length(mVolt)+length(lineI)*2+length(transI)*2)... + .* (SEVolt(transI)./transK.* (cos(SEVAngle(transI) -SEVAngle(transJ)).*transG + sin(SEVAngle(transI) -SEVAngle(transJ)).*transB) ), ... + varNum,varNum);%·йɭ + %% γɴĺɭ + %ɭԽǣ + % [ d2h_dV2 0 + % 0 d2h_dT2] + hessian14=d2LPij_dVi2+d2LPij_dVidVj+d2LPij_dVidVj'+d2LPij_dVj2 ... + +d2LPij_dTi2+d2LPij_dTidTj+d2LPij_dTidTj'+d2LPij_dTj2 ... + +d2LQij_dVi2+d2LQij_dVidVj+d2LQij_dVidVj'+d2LQij_dVj2 ... + +d2LQij_dTi2+d2LQij_dTidTj+d2LQij_dTidTj'+d2LQij_dTj2 ...; + +d2TPij_dVi2+d2TPij_dVidVj+d2TPij_dVidVj'+d2TPij_dVj2 ... + +d2TPij_dTi2+d2TPij_dTidTj+d2TPij_dTidTj'+d2TPij_dTj2 ... + +d2TQij_dVi2+d2TQij_dVidVj+d2TQij_dVidVj'+d2TQij_dVj2 ... + +d2TQij_dTi2+d2TQij_dTidTj+d2TQij_dTidTj'+d2TQij_dTj2; + hessian2=d2LPij_dVidTi+d2LPij_dVidTj+d2LPij_dVjdTi+d2LPij_dVjdTj ... + +d2LQij_dVidTi+d2LQij_dVidTj+d2LQij_dVjdTi+d2LQij_dVjdTj ... + +d2TPij_dVidTi+d2TPij_dVidTj+d2TPij_dVjdTi+d2TPij_dVjdTj ... + +d2TQij_dVidTi+d2TQij_dVidTj+d2TQij_dVjdTi+d2TQij_dVjdTj; + hessian3=hessian2'; + G=H'*W*H+hessian14+hessian2+hessian3; + %G=H'*W*H; + g=H'*Whz; +% gg=H(5:7,:)'*Whz(5:7); +% ggg=H(busNum++length(lineI)+1:busNum+length(lineI)*2,:)'*H(busNum++length(lineI)+1:busNum+length(lineI)*2,:)+d2LPij_dVi2+d2LPij_dVidVj+d2LPij_dVidVj'+d2LPij_dVj2 ... +% +d2LPij_dTi2+d2LPij_dTidTj+d2LPij_dTidTj'+d2LPij_dTj2 ... +% +d2LPij_dVidTi+d2LPij_dVidTj+d2LPij_dVjdTi+d2LPij_dVjdTj ... +% +[d2LPij_dVidTi+d2LPij_dVidTj+d2LPij_dVjdTi+d2LPij_dVjdTj]'; +% ggg=H(busNum++length(lineI)+1:busNum+length(lineI)*2,:)'*H(busNum++length(lineI)+1:busNum+length(lineI)*2,:)+d2LQij_dVi2+d2LQij_dVidVj+d2LQij_dVidVj'+d2LQij_dVj2 ... +% +d2LQij_dTi2+d2LQij_dTidTj+d2LQij_dTidTj'+d2LQij_dTj2 ... +% +d2LQij_dVidTi+d2LQij_dVidTj+d2LQij_dVjdTi+d2LQij_dVjdTj ... +% +[d2LQij_dVidTi+d2LQij_dVidTj+d2LQij_dVjdTi+d2LQij_dVjdTj]'; +% +% ggg=H(busNum+length(lineI)*2+length(transI)+1:busNum+length(lineI)*2+length(transI)*2,:)'*H(busNum+length(lineI)*2+length(transI)+1:busNum+length(lineI)*2+length(transI)*2,:)+d2TQij_dVi2+d2TQij_dVidVj+d2TQij_dVidVj'+d2TQij_dVj2 ... +% +d2TQij_dTi2+d2TQij_dTidTj+d2TQij_dTidTj'+d2TQij_dTj2 ... +% +d2TQij_dVidTi+d2TQij_dVidTj+d2TQij_dVjdTi+d2TQij_dVjdTj ... +% +[d2TQij_dVidTi+d2TQij_dVidTj+d2TQij_dVjdTi+d2TQij_dVjdTj]'; + +% hVolt=H(1:busNum,:)'*H(1:busNum,:); a=G; b=-g; - - % ƽڵǺ㶨 a(length(mVolt)+Balance,:)=0; a(:,length(mVolt)+Balance)=0; a=a+sparse(length(mVolt)+Balance,length(mVolt)+Balance,1,size(a,1),size(a,1)); b(length(mVolt)+Balance)=0; % ƽڵѹ㶨; - a(Balance,:)=0; - a(:,Balance)=0; - a=a+sparse(Balance,Balance,1,size(a,1),size(a,1)); - b(Balance)=0; - dX=a\b; +% a(Balance,:)=0; +% a(:,Balance)=0; +% a=a+sparse(Balance,Balance,1,size(a,1),size(a,1)); +% b(Balance)=0; + dX=inv(a)*b; dXStep=1; % dXStep=Armijo(z,newwordParameter,W,SEVolt,SEVAngle,dX,g ); maxD=max(abs(dX(1:length(mVolt)))) fprintf('max abs g:%f\n',full(max(abs(g)))); SEVolt=SEVolt+dX(1:length(mVolt))*dXStep; - SEVAngle=SEVAngle+dX(length(mVolt)+1:length(mVolt)*2)*dXStep; - lamda=-dX(length(mVolt)*2+1:end); - % % Ŀ꺯½ - % preObjFun=(z-h)'*W*(z-h); - % oldSEVolt=SEVolt; - % oldSEVAngle=SEVAngle; - % ¿ָ p - % p=(objfun( SEVolt,SEVAngle,W,z,newwordParameter ) - objfun( SEVolt+dX(1:length(mVolt))*dXStep,SEVAngle+dX(length(mVolt)+1:length(mVolt)*2)*dXStep,W,z,newwordParameter ) )/( .5*dX'*(mu*dX-g) ); - % if p>0 %ܸ - % % ± - % SEVolt=SEVolt+dX(1:length(mVolt))*dXStep; - % SEVAngle=SEVAngle+dX(length(mVolt)+1:length(mVolt)*2)*dXStep; - % lamda=-dX(length(mVolt)*2+1:end); - % mu=mu*max([1/3,1-(2*p-1)^3]); - % v=2; - % else - % mu=mu*v; - % v=2*v; - % end - + SEVAngle=SEVAngle+dX(length(mVolt)+1:end)*dXStep; Iteration=Iteration+1; - - - % % ºĿ꺯 - % h=[SEVolt;SEBranchP;SEBranchQ;SETransP;SETransQ]; - % ojbFunDecrease=preObjFun-(z-h)'*W*(z-h) - % if ojbFunDecrease<1e-3 - % mu=100000; - % else - % mu=0; - % end optimalCondition=-g; optimalCondition(Balance)=0; optimalCondition(Balance+length(mVolt))=0; diff --git a/公式/公式.tex b/公式/公式.tex index a04c7b1..1f8a82f 100644 --- a/公式/公式.tex +++ b/公式/公式.tex @@ -221,6 +221,8 @@ ps.已检验过线路的公式。 \par 线路支路功率二阶导数 有功部分 +\newline +海森矩阵对电压 \begin{equation} \begin{aligned} \frac{\partial^2 P_{12}}{\partial V_1^2}&= @@ -243,7 +245,7 @@ ps.已检验过线路的公式。 \frac{\partial^2 P_{12}}{\partial V_2^2}&=0 \end{aligned} \end{equation} - +海森矩阵对相角 \begin{equation} \begin{aligned} \frac{\partial P_{12}}{\partial \theta_1^2}&= @@ -268,7 +270,41 @@ ps.已检验过线路的公式。 \frac{V_1}{k} V_2[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}] \end{aligned} \end{equation} +海森矩阵对电压相角 + +\begin{equation} +\begin{aligned} +\frac{\partial P_{12}}{\partial V_1 \partial \theta_1}&= +-\frac{V_2}{k}[-sin(\theta_1 - \theta_2)G_{ij}+cos (\theta_1 - \theta_2)B_{ij}] \\ +&=\frac{V_2}{k}[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial P_{12}}{\partial V_1 \partial \theta_2}&= +-\frac{V_2}{k}[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial P_{12}}{\partial V_2 \partial \theta_1}&= +-\frac{V_1}{k}[-sin(\theta_1 - \theta_2)G_{ij}+cos (\theta_1 - \theta_2)B_{ij}] \\ +&=\frac{V_1}{k}[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial P_{12}}{\partial V_2 \partial \theta_2}&= +-\frac{V_1}{k}[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + 无功部分 +\newline +海森矩阵对电压 \begin{equation} \begin{aligned} \frac{\partial^2 Q_{12}}{\partial V_1 \partial V_1}&= @@ -288,7 +324,7 @@ ps.已检验过线路的公式。 \frac{\partial^2 Q_{12}}{\partial V_2^2}&=0 \end{aligned} \end{equation} - +海森矩阵对电压 \begin{equation} \begin{aligned} \frac{\partial^2 Q_{12}}{\partial \theta_1^2}&= @@ -310,6 +346,37 @@ ps.已检验过线路的公式。 &=\frac{V_1}{k}V_2[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] \end{aligned} \end{equation} +海森矩阵对电压相角 +\begin{equation} +\begin{aligned} +\frac{\partial Q_{12}}{\partial V_1 \partial \theta_1}&= +-\frac{V_2}{k}[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial Q_{12}}{\partial V_1 \partial \theta_2}&= +-\frac{V_2}{k}[-cos(\theta_1 - \theta_2)G_{ij}-sin (\theta_1 - \theta_2)B_{ij}] \\ +&=\frac{V_2}{k}[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial Q_{12}}{\partial V_2 \partial \theta_1}&= +-\frac{V_1}{k}[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + +\begin{equation} +\begin{aligned} +\frac{\partial Q_{12}}{\partial V_2 \partial \theta_2}&= +-\frac{V_1}{k}[-cos(\theta_1 - \theta_2)G_{ij}-sin (\theta_1 - \theta_2)B_{ij}] \\ +&=\frac{V_1}{k}[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}] +\end{aligned} +\end{equation} + 以上公式对线路和没有计及接地支路的变压器适用,只是线路中变比$k$为1. \end{document} diff --git a/公式/内点法公式.tex b/公式/内点法公式.tex index dd2c1ee..f1e5d03 100644 --- a/公式/内点法公式.tex +++ b/公式/内点法公式.tex @@ -15,7 +15,7 @@ f(x)=[z-h(x)]^T W [z-h(x)] \end{equation} 最优条件等价为 \begin{equation} -\bigtriangledown f(x)=J^T W [z-h(x)]=0 +\bigtriangledown f(x)=J^T W [h(x)-z]=0 \end{equation} 其中$J$是$h(x)$的$Jacobi$矩阵 \newline @@ -55,6 +55,16 @@ f(x)=[z-h(x)]^T W [z-h(x)] J ^T W J + \tilde{Q} \end{equation} 其中 +$J$具有以下形式 +\begin{equation} +J=\left[ %左括号 + \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 + \frac{\partial f_1}{ \partial x_1} & \frac{\partial f_1}{ \partial x_2}\\ %第一行元素 + \frac{\partial f_2}{ \partial x_1} & \frac{\partial f_2}{ \partial x_2}\\ %第二行元素 + \end{array} +\right] %右括号 +\end{equation} + \begin{equation} J ^T W J= (\omega_1 \frac{ \partial f_1 }{\partial x_1} \frac{ \partial f_1 }{\partial x_1}