function [ output_args,this ] = equ( this ) %EQU Summary of this function goes here % Detailed explanation goes here PDi=this.PDi; QDi=this.QDi; Volt0=this.Volt0; Angel=this.Angel; r=this.r; c=this.c; PG=this.PG; QG=this.QG; PD=x(1:length(PDi)); QD=x(length(PDi)+1:length(PDi)+length(QDi)); Volt=x(length(PDi)+length(QDi)+1:length(PDi)+length(QDi)+length(Volt0)); VAngel=x(length(PDi)+length(QDi)+length(Volt0):end); PD_=zeros(PD,length(Volt0)); QD_=zeros(QD,length(Volt0)); PD_(PDi)=PD; QD_(QDi)=QD; busNum=length(Volt0); VMatrix=sparse(r,c,VAngel(r)-VAngel(c)-Angel,busNum,busNum); dP=PG-PD_-diag(Volt)*(Y.*cos(VMatrix))*Volt; dQ=QG-QD_-diag(Volt)*(Y.*spfun(@sin,VMatrix))*Volt; output_args=[dP;dQ]; this.gle=ze end