function deltG=func_deltG(Busnum,PVi,GB,Volt,UAngel,indexi,indexj,PGi) dg1_dPg=eye(size(PGi,1)); dg2_dPg=zeros(size(PGi,1)); dg3_dPg=zeros(size(PGi,1),Busnum); dg4_dPg=zeros(size(PGi,1),Busnum); %% dg1_dQr=zeros(size(PVi,1)); dg2_dQr=eye(size(PVi,1)); dg3_dQr=zeros(size(PVi,1),Busnum); dg4_dQr=zeros(size(PVi,1),Busnum); %% dg1_dx=zeros(2*Busnum,2); dg2_dx=zeros(2*Busnum,2); dg3_dx=zeros(2*Busnum,Busnum); for I=1:Busnum dg3_dx(2*I,I)=1; end dg4_dx=zeros(2*Busnum,Busnum); indexi=indexi'; indexj=indexj'; %% 线路 t1=Volt(indexi).*Volt(indexj); t2=real(... GB( ... sub2ind(size(GB),indexi,indexj) ... ... )... ).*... sin(... UAngel(indexi)'-UAngel(indexj)'... ); t3=imag(... GB( sub2ind(size(GB),indexi,indexj) )... ).*... cos(... UAngel(indexi)'-UAngel(indexj)'... ); dPij_dThytai=t1.*(t2-t3)'; %% t1=-Volt(indexj); t2=real(... GB( ... sub2ind(size(GB),indexi,indexj) ... ... )... ).*... cos(... UAngel(indexi)'-UAngel(indexj)' ... ); t3=imag(... GB( sub2ind(size(GB),indexi,indexj) )... ).*... sin(... UAngel(indexi)'-UAngel(indexj)'... ); t4=2*Volt(indexi).*real(... GB( sub2ind(size(GB),indexi,indexj) )... )'; dPij_dVi=t4+t1.*(t2+t3)'; dPij_dVj=-Volt(indexi).*(t2+t3)'; %% 开始形成dg4_dx for I=1:size(indexi,1) dg4_dx(2*indexi(I)-1,I)=dPij_dThytai(I); dg4_dx(2*indexj(I)-1,I)=-dPij_dThytai(I); dg4_dx(2*indexi(I),I)=dPij_dVi(I); dg4_dx(2*indexj(I),I)=dPij_dVj(I); end %% deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg; dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr; dg1_dx,dg2_dx,dg3_dx,dg4_dx; ];