distributionnetwork-power2c.../Unbalance.m

18 lines
823 B
Matlab

function [dP, dQ, YdotSinVmf1, YdotCosVmf1, diag_Vmf1_YdotSin, diag_Vmf1_YdotCos]=Unbalance(Balance,busNum, ...
PQi,PG,QG,QGi,PD,QD,Vmf1,Vaf1,Y,Yangle,r,c,Vf2,If2,Vf0,If0)
t1=sparse(r,c,Vaf1(r)-Vaf1(c) -Yangle,busNum,busNum) ;
YdotSin=Y.* ( spfun(@sin,t1) );
YdotCos=Y.* ( spfun (@cos, t1 ) );
orderedPDPG=sparse(PQi,1,PD-PG,busNum,1); %节点功率按顺序排列
orderedQDQG=sparse(PQi,1,QD-QG,busNum,1); %节点功率按顺序排列
diag_Vmf1_YdotCos=diag(Vmf1)*YdotCos;
diag_Vmf1_YdotSin=diag(Vmf1)*YdotSin;
YdotCosVmf1=YdotCos*Vmf1;
YdotSinVmf1=YdotSin*Vmf1;
diag_Vmf1_YdotCosVmf1=diag_Vmf1_YdotCos*Vmf1;
diag_Vmf1_YdotSinVmf1=diag_Vmf1_YdotSin*Vmf1;
dP=diag_Vmf1_YdotCosVmf1+orderedPDPG+real(Vf2.*conj(If2)+Vf0.*conj(If0));
dQ=diag_Vmf1_YdotSinVmf1+orderedQDQG+imag(Vf2.*conj(If2)+Vf0.*conj(If0));
dP(Balance)=0;
dQ(QGi)=0;
end