18 lines
815 B
Matlab
18 lines
815 B
Matlab
function [ ddgZW ] = FormddgZW(PGi,PVi,Busnum,ContrlCount,Loadi,PD,QD,Init_Z,Init_W)
|
||
|
||
ddg1=sparse(size(PVi,1)+size(PGi,1),ContrlCount);
|
||
%¼ÆËãWºÍZÓ¦¸Ã³ËµÄλÖÃ
|
||
rePos1=length(PGi)+length(PVi)+length(Loadi)*2+Busnum+1;
|
||
rePos2=rePos1+length(Loadi)-1;
|
||
t1=sparse(length(Loadi),size(PVi,1)+size(PGi,1));
|
||
t2=diag(-2./(PD(Loadi).^2)-2*(QD(Loadi).^2-PD(Loadi).^2)./(PD(Loadi).^2+QD(Loadi).^2))*diag(Init_Z(rePos1:rePos2)+Init_W(rePos1:rePos2));
|
||
t3=4*diag(PD(Loadi).*QD(Loadi)./((PD(Loadi).^2+QD(Loadi).^2).^2))*diag(Init_Z(rePos1:rePos2)+Init_W(rePos1:rePos2));
|
||
t4=sparse(length(Loadi),2*Busnum);
|
||
ddg2=[t1,t2,t3,t4];
|
||
t2=diag(-2*(PD(Loadi).^2-QD(Loadi).^2)./(PD(Loadi).^2+QD(Loadi).^2))*diag(Init_Z(rePos1:rePos2)+Init_W(rePos1:rePos2));
|
||
ddg3=[t1,t3,t2,t4];
|
||
ddg4=sparse(Busnum*2,ContrlCount);
|
||
ddgZW=[ddg1;ddg2;ddg3;ddg4];
|
||
end
|
||
|