opfsparse/FormH.m

24 lines
663 B
Matlab

function Mat_H=FormH(Busnum,GB,AngleIJMat,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle)
t1=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
t2=Volt'*Volt;
t3=t1.*t2;
t4=sum(-t3,2);%P
t5=real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
t6=t2.*t5;
t7=sum(-t6,2);%Q
t8=PG-PD;
t9=QG-QD;
% Mat_H(1:2:2*Busnum)=t8(1:Busnum)+t4(1:Busnum);
% Mat_H(2:2:2*Busnum)=t9(1:Busnum)+t7(1:Busnum);
% Mat_H=Mat_H';
%%%%Ò»ÏÂÊÇѧ½ã¸øµÄ¹«Ê½
%AngleIJ=AngleIJMat-angle(GB);
AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
%dP=PG-PD-diag(Volt)*Y*cos(AngleIJ)*Volt';
dP=PG-PD-diag(Volt)*Y.*cos(AngleIJ)*Volt';
dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt';
Mat_H=[dP;dQ;];
end