29 lines
861 B
Matlab
29 lines
861 B
Matlab
function Mat_H=FormH(Busnum,GB,AngleIJMat,Volt,PG,PD,QG,QD,Y,QD_NON_ZERO,QD_NON_ZERO_IND)
|
|
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=([(PG-PD)',(QG-QD)'])'+([t4',t7'])';
|
|
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';
|
|
%%
|
|
QDcos=textread('1047glys.txt');
|
|
QD(QD~=0)=PD(QD~=0)./tan(QDcos);
|
|
QD(QD_NON_ZERO_IND)=QD_NON_ZERO;
|
|
%%
|
|
%%%%一下是学姐给的公式
|
|
AngleIJ=AngleIJMat-angle(GB);
|
|
%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(1:2:2*Busnum)=dP(1:Busnum);暂时改一下 20111227
|
|
%Mat_H(2:2:2*Busnum)=dQ(1:Busnum);暂时改一下 20111227
|
|
Mat_H=[dP;dQ;];
|
|
|
|
end |