stateestimateionyalmip-lu9-.../FormH.asv

31 lines
1.1 KiB
Plaintext
Raw Normal View History

function Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi,notLoadi,PGi,PVi,PD0,QD0)
%%
%QDcos=textread('D:\Project\<5C><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C>ɺ<EFBFBD>919PDQDglys.txt');
%QD(QD~=0)=PD(QD~=0)./tan(QDcos);
%QD(QD_NON_ZERO_IND)=QD_NON_ZERO;
%%
%PD(Loadi)=QD(Loadi)./tan(acos(0.98));
AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle,Busnum,Busnum);
Loadi=find(QD0~=0 | PD0~=0);
PDi=find(PD0~=0);
QDi=find(QD0~=0);
notLoadi=setdiff(1:Busnum,Loadi);
PGOnly=setdiff(PGi,PDi);
QGOnly=setdiff(PVi,QDi);
PDOnly=setdiff(PDi,PGi);
QDOnly=setdiff(QDi,PVi);
PGPD=intersect(PDi,PGi);
QGQD=intersect(QDi,PVi);
noPGPDQGQD=setdiff(1:Busnum,union(union(PDi,PGi),union(QDi,PVi)));
YCos=Y.*cos(AngleIJ);
YSin=Y.*sin(AngleIJ);
dP1=PG(ismember(PGi,PGOnly))-diag(Volt(PGOnly))*YCos(PGOnly,:)*Volt(PGOnly);
dQ1=QG(ismember(PVi,QGOnly))-diag(Volt(QGOnly))*YSin(QGOnly,:)*Volt(QGOnly);
dP2=PD(ismember(PDi,PDOnly))-diag(Volt(PDOnly))*YCos(PDOnly,:)*Volt(PDOnly);
dQ2=QD(ismember(QDi,QDOnly))-diag(Volt(QOnly))*YSin(QDOnly,:)*Volt(QDOnly);
dP3=PG(ismember(PGi,PGOnly))-diag(Volt(PGOnly))*YCos(PGOnly,:)*Volt(PGOnly);
dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt;
Mat_H=[dP;dQ;];
end