function [ output_args,this ] = equ( this,x ) %EQU Summary of this function goes here % Detailed explanation goes here output_args=[]; PDi=this.PDi; QDi=this.QDi; Volt0=this.Volt0; Angel=this.Angel; r=this.r; c=this.c; PG=this.PG; QG=this.QG; Balance=this.Balance; Y=this.Y; PD=x(1:length(PDi)); QD=x(length(PDi)+1:length(PDi)+length(QDi)); Volt=x(1:length(Volt0)); VAngel=x(length(Volt0)+1:end); PD_=zeros(length(Volt0),1); QD_=zeros(length(Volt0),1); PD_(PDi)=PD; QD_(QDi)=QD; output_args=[dP;dQ];%潮流约束 %% 使用零注入begin % zeroInj=setdiff(1:busNum,union(Balance,union(PDi,QDi))); % output_args=[output_args(zeroInj);output_args(length(Volt0)+zeroInj)]; %% 使用零注入end %电压恒定 output_args=[output_args;Volt(Balance)-1]; %相角恒定 output_args=[output_args;VAngel(Balance)]; this.cu=zeros(length(output_args),1); this.cl=zeros(length(output_args),1); %% 稠密化 output_args=full(output_args); this.cu=full(this.cu); this.cl=full(this.cl); end