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