2012-06-06 10:19:08 +08:00
|
|
|
|
function ddh=func_ddh(Volt,Init_Y,Busnum,PVi,PGi,Y,UAngel,r,c,Angle,Loadi,ContrlCount)
|
2012-05-25 17:23:23 +08:00
|
|
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д
|
|
|
|
|
|
%ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)+Busnum*2;
|
|
|
|
|
|
|
|
|
|
|
|
%AngleIJ=AngleIJMat-angle(GB);
|
|
|
|
|
|
mat_AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
|
|
|
|
|
mat_INV_AngleIJ=mat_AngleIJ';
|
|
|
|
|
|
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=-sparse(1:Busnum,1:Busnum,Y.*cos(mat_INV_AngleIJ)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
|
|
|
|
|
t2=sparse(1:Busnum,1:Busnum,sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum)*Y.*cos(mat_AngleIJ);
|
|
|
|
|
|
t3=(t1+t2)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum);
|
|
|
|
|
|
t4=-(sparse(1:Busnum,1:Busnum,Y.*cos(mat_AngleIJ)*Volt',Busnum,Busnum) -sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*Y.*cos(mat_INV_AngleIJ) )*sparse(1:Busnum,1:Busnum,sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
|
|
|
|
|
ddPdTdT=t3+t4;%ok1
|
|
|
|
|
|
t1=(-sparse(1:Busnum,1:Busnum,Y.*sin(mat_AngleIJ)*Volt',Busnum,Busnum)+sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*Y.*sin(mat_INV_AngleIJ) )*sparse(1:Busnum,1:Busnum,yP,Busnum,Busnum);
|
|
|
|
|
|
t2= -sparse(1:Busnum,1:Busnum, sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP' ,Busnum,Busnum)*Y.*sin(mat_AngleIJ)+sparse(1:Busnum,1:Busnum,Y.*sin(mat_INV_AngleIJ)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
|
|
|
|
|
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' );
|
|
|
|
|
|
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);
|
|
|
|
|
|
ddPdVdV=t1+t2;
|
|
|
|
|
|
t1=-diag(Y.*sin(mat_AngleIJ)*Volt');
|
|
|
|
|
|
t2=diag(Volt)*Y.*sin(mat_INV_AngleIJ);
|
|
|
|
|
|
t3=(t1+t2)*diag( diag(Volt)*yQ' );
|
|
|
|
|
|
t4=-diag( diag(Volt)*yQ' )*Y.*sin(mat_AngleIJ);
|
|
|
|
|
|
|
|
|
|
|
|
t5=diag(Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yQ');
|
|
|
|
|
|
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');
|
|
|
|
|
|
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);
|
|
|
|
|
|
ddQdTdV=t1+t2+t3+t4;
|
|
|
|
|
|
t1=Y.*sin(mat_INV_AngleIJ)*diag(yQ);
|
|
|
|
|
|
t2=diag(yQ)*Y.*sin(mat_AngleIJ);
|
|
|
|
|
|
ddQdVdV=t1+t2;
|
2012-06-06 10:19:08 +08:00
|
|
|
|
% t=[ddPdVdV+ddQdVdV,ddPdTdV+ddQdTdV;
|
|
|
|
|
|
% ddPdVdT+ddQdVdT,ddPdTdT+ddQdTdT;
|
|
|
|
|
|
% ];
|
|
|
|
|
|
t=[ddPdVdV+ddQdVdV,ddPdVdT+ddQdVdT;
|
|
|
|
|
|
ddPdTdV+ddQdTdV,ddPdTdT+ddQdTdT;
|
2012-05-22 11:33:21 +08:00
|
|
|
|
];
|
2012-05-25 17:23:23 +08:00
|
|
|
|
sizePGi=size(PGi,1);
|
|
|
|
|
|
sizePVi=size(PVi,1);
|
2012-11-04 12:37:11 +08:00
|
|
|
|
sizeLoadi=size(Loadi,1)*1+1;
|
2012-05-25 17:23:23 +08:00
|
|
|
|
ddh=[
|
|
|
|
|
|
sparse(sizePGi+sizePVi+sizeLoadi,ContrlCount);
|
|
|
|
|
|
sparse(2*Busnum,sizePVi+sizePGi+sizeLoadi),-t;
|
|
|
|
|
|
];
|
2012-05-22 11:33:21 +08:00
|
|
|
|
end
|