function XX=SolveIt(deltF,deltG,Init_L,Init_Z,Init_U,Init_W,deltdeltF,ddh,ddg,deltH,Init_Y,Ly,Lz,ContrlCount,Lw,Lul,Luu,RestraintCount,Lx,Balance,PVi,PGi,Busnum,Loadi) LxComa=FormLxComa(deltF,deltG,deltH,Init_L,Luu,Lul,Init_Z,Init_Y,Lz,Init_U,Init_W,Lw,Lx); H=-deltdeltF+ddh; %t1=diag(Init_L.\Init_Z-Init_U.\Init_W); t1=diag(Init_Z./Init_L-Init_W./Init_U); t2=-deltG*( t1 )*deltG'; aa=[ (H+t2),deltH; deltH',zeros(size(Init_Y,2)); ]; yy=[LxComa;-Ly]; %% 平衡节点电压不变 t=size(Loadi,1)*2; aa(t+Balance,:)=0; aa(:,t+Balance)=0; %aa(t+Balance,t+Balance)=1; aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum); deltG(t+Balance,:)=0; %% t=size(Loadi,1)*2+Busnum*1; aa(t+Balance,:)=0; aa(:,t+Balance)=0; %aa(t+Balance,t+Balance)=1; aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum); deltG(t+Balance,:)=0; %% dxdy=aa\yy; %% KLU %spy(aa) %dxdy = klu(aa,'\',full(yy)); %% dX=dxdy(1:ContrlCount); dY=dxdy(ContrlCount+1:ContrlCount+2*Busnum); dL=Lz+deltG'*dX; dU=-Lw-deltG'*dX; dZ=-diag(Init_L)\Lul-diag(Init_L)\diag(Init_Z)*dL; dW=-diag(Init_U)\Luu-diag(Init_U)\diag(Init_W)*dU; XX=[ dX; dY; dZ; dW; dL; dU; ]; end