52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
function ddh=func_ddh3(AngleIJMat,GB,Volt,Init_Y,Busnum,PVi,PGi,Y)
|
|
%决定用循环重写
|
|
ContrlCount=size(PVi,1)+size(PGi,1)+Busnum*3;
|
|
|
|
AngleIJ=AngleIJMat-angle(GB);
|
|
yP=Init_Y(1:size(Init_Y,2)/2);%暂时改这里 20111227
|
|
yQ=Init_Y(size(Init_Y,2)/2+1:size(Init_Y,2));%暂时改这里 20111227
|
|
t1=-diag(Y.*cos(AngleIJ')*diag(Volt)*yP');
|
|
t2=diag(diag(Volt)*yP')*Y.*cos(AngleIJ);
|
|
t3=(t1+t2)*diag(Volt);
|
|
t4=-(diag(Y.*cos(AngleIJ)*Volt') -diag(Volt)*Y.*cos(AngleIJ') )*diag(diag(Volt)*yP');
|
|
ddPdTdT=t3+t4;%ok1
|
|
t1=(-diag(Y.*sin(AngleIJ)*Volt')+diag(Volt)*Y.*sin(AngleIJ') )*diag(yP);
|
|
t2= -diag( diag(Volt)*yP' )*Y.*sin(AngleIJ)+diag(Y.*sin(AngleIJ')*diag(Volt)*yP');
|
|
ddPdVdT=t1+t2;%ok1
|
|
t1=diag( Y.*sin(AngleIJ')*diag(Volt)*yP');
|
|
t2=diag(yP)*Y.*sin(AngleIJ)*diag(Volt);
|
|
t3=-diag(yP)*diag(Y.*sin(AngleIJ)*Volt');
|
|
t4=-Y.*sin(AngleIJ')*diag( diag(Volt)*yP' );
|
|
ddPdTdV=t1+t2+t3+t4;%存疑与我的不一样
|
|
t1=Y.*cos(AngleIJ')*diag(yP);
|
|
t2=diag(yP)*Y.*cos(AngleIJ);
|
|
ddPdVdV=t1+t2;
|
|
t1=-diag(Y.*sin(AngleIJ)*Volt');
|
|
t2=diag(Volt)*Y.*sin(AngleIJ');
|
|
t3=(t1+t2)*diag( diag(Volt)*yQ' );
|
|
t4=-diag( diag(Volt)*yQ' )*Y.*sin(AngleIJ);
|
|
|
|
t5=diag(Y.*sin(AngleIJ')*diag(Volt)*yQ');
|
|
t6=-(t4+t5)*diag(Volt);
|
|
ddQdTdT=t3+t6;%ok1
|
|
t1=(diag(Y.*cos(AngleIJ)*Volt')-diag(Volt)*Y.*cos(AngleIJ') )*diag(yQ);
|
|
t2=+diag( diag(Volt)*yQ' )*Y.*cos(AngleIJ)-diag(Y.*cos(AngleIJ')*diag(Volt)*yQ');
|
|
ddQdVdT=t1+t2;
|
|
t1=Y.*cos(AngleIJ')*diag(diag(Volt)*yQ');
|
|
t2=diag(yQ)*diag(Y.*cos(AngleIJ)*Volt');
|
|
t3=-diag(Y.*cos(AngleIJ')*diag(Volt)*yQ');
|
|
t4=-diag(yQ)*Y.*cos(AngleIJ)*diag(Volt);
|
|
ddQdTdV=t1+t2+t3+t4;
|
|
t1=Y.*sin(AngleIJ')*diag(yQ);
|
|
t2=diag(yQ)*Y.*sin(AngleIJ);
|
|
ddQdVdV=t1+t2;
|
|
%% %%
|
|
|
|
t=[ddPdVdV+ddQdVdV,ddPdTdV+ddQdTdV ;
|
|
ddPdVdT+ddQdVdT,ddPdTdT+ddQdTdT;
|
|
];
|
|
t=[zeros(size(PGi,1)+size(PVi,1)+Busnum,ContrlCount);
|
|
zeros(2*Busnum,size(PVi,1)+size(PGi,1)+Busnum),-t;
|
|
];
|
|
ddh=t;
|
|
end |