pes2014-wronglowervoltagebound/func_ddh3.m

58 lines
2.2 KiB
Mathematica
Raw Normal View History

function ddh=func_ddh3(AngleIJMat,GB,Volt,Init_Y,Busnum,PVi,PGi,Y,UAngel,r,c,Angle)
2012-05-22 11:33:21 +08:00
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д
ContrlCount=size(PVi,1)+size(PGi,1)+Busnum*3;
%AngleIJ=AngleIJMat-angle(GB);
mat_AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
mat_INV_AngleIJ=mat_AngleIJ';
2012-05-22 11:33:21 +08:00
yP=Init_Y(1:size(Init_Y,2)/2);%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20111227
yQ=Init_Y(size(Init_Y,2)/2+1:size(Init_Y,2));%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20111227
t1=-diag(Y.*cos(mat_INV_AngleIJ)*diag(Volt)*yP');
t2=diag(diag(Volt)*yP')*Y.*cos(mat_AngleIJ);
2012-05-22 11:33:21 +08:00
t3=(t1+t2)*diag(Volt);
t4=-(diag(Y.*cos(mat_AngleIJ)*Volt') -diag(Volt)*Y.*cos(mat_INV_AngleIJ) )*diag(diag(Volt)*yP');
2012-05-22 11:33:21 +08:00
ddPdTdT=t3+t4;%ok1
t1=(-diag(Y.*sin(mat_AngleIJ)*Volt')+diag(Volt)*Y.*sin(mat_INV_AngleIJ) )*diag(yP);
t2= -diag( diag(Volt)*yP' )*Y.*sin(mat_AngleIJ)+diag(Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yP');
2012-05-22 11:33:21 +08:00
ddPdVdT=t1+t2;%ok1
t1=diag( Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yP');
t2=diag(yP)*Y.*sin(mat_AngleIJ)*diag(Volt);
t3=-diag(yP)*diag(Y.*sin(mat_AngleIJ)*Volt');
t4=-Y.*sin(mat_INV_AngleIJ)*diag( diag(Volt)*yP' );
2012-05-22 11:33:21 +08:00
ddPdTdV=t1+t2+t3+t4;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIJ<EFBFBD>һ<EFBFBD><EFBFBD>
t1=Y.*cos(mat_INV_AngleIJ)*diag(yP);
t2=diag(yP)*Y.*cos(mat_AngleIJ);
2012-05-22 11:33:21 +08:00
ddPdVdV=t1+t2;
t1=-diag(Y.*sin(mat_AngleIJ)*Volt');
t2=diag(Volt)*Y.*sin(mat_INV_AngleIJ);
2012-05-22 11:33:21 +08:00
t3=(t1+t2)*diag( diag(Volt)*yQ' );
t4=-diag( diag(Volt)*yQ' )*Y.*sin(mat_AngleIJ);
2012-05-22 11:33:21 +08:00
t5=diag(Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yQ');
2012-05-22 11:33:21 +08:00
t6=-(t4+t5)*diag(Volt);
ddQdTdT=t3+t6;%ok1
t1=(diag(Y.*cos(mat_AngleIJ)*Volt')-diag(Volt)*Y.*cos(mat_INV_AngleIJ) )*diag(yQ);
t2=+diag( diag(Volt)*yQ' )*Y.*cos(mat_AngleIJ)-diag(Y.*cos(mat_INV_AngleIJ)*diag(Volt)*yQ');
2012-05-22 11:33:21 +08:00
ddQdVdT=t1+t2;
t1=Y.*cos(mat_INV_AngleIJ)*diag(diag(Volt)*yQ');
t2=diag(yQ)*diag(Y.*cos(mat_AngleIJ)*Volt');
t3=-diag(Y.*cos(mat_INV_AngleIJ)*diag(Volt)*yQ');
t4=-diag(yQ)*Y.*cos(mat_AngleIJ)*diag(Volt);
2012-05-22 11:33:21 +08:00
ddQdTdV=t1+t2+t3+t4;
t1=Y.*sin(mat_INV_AngleIJ)*diag(yQ);
t2=diag(yQ)*Y.*sin(mat_AngleIJ);
2012-05-22 11:33:21 +08:00
ddQdVdV=t1+t2;
t=[ddPdVdV+ddQdVdV,ddPdTdV+ddQdTdV ;
ddPdVdT+ddQdVdT,ddPdTdT+ddQdTdT;
];
sizePGi=size(PGi,1);
sizePVi=size(PVi,1);
% t=[zeros(size(PGi,1)+size(PVi,1),ContrlCount);
% zeros(2*Busnum,size(PVi,1)+size(PGi,1)),-t;
% ];
t=[
sparse(sizePGi+sizePVi+Busnum,ContrlCount);
sparse(2*Busnum,sizePVi+sizePGi+Busnum),-t;
];
2012-05-22 11:33:21 +08:00
ddh=t;
end