stateestimateionyalmip-lu9-.../@Opti/equ.m

41 lines
1.1 KiB
Mathematica
Raw Permalink Normal View History

function [ output_args,this ] = equ( this,x )
%EQU Summary of this function goes here
% Detailed explanation goes here
output_args=[];
Volt0=this.Volt0;
Balance=this.Balance;
% Volt=x(1:length(Volt0));
% VAngel=x(length(Volt0)+1:end);
%% ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>begin
SEVolt=x(1:length(Volt0));
SEVAngel=x(length(SEVolt)+1:end);
Angel=this.Angel;
r=this.r;
c=this.c;
PG=this.PG;
QG=this.QG;
Y=this.Y;
busNum=length(Volt0);
VMatrix=sparse(r,c,SEVAngel(r)-SEVAngel(c)-Angel,busNum,busNum);
zerosP=diag(SEVolt)*(Y.*cos(VMatrix))*SEVolt;
zerosQ=diag(SEVolt)*(Y.*spfun(@sin,VMatrix))*SEVolt;
PDi=this.PDi;
QDi=this.QDi;
zeroInj=setdiff(1:busNum,union(Balance,union(PDi,QDi)));
output_args=[zerosP(zeroInj);zerosQ(zeroInj)];
this.cu=zeros(length(output_args),1);
this.cl=zeros(length(output_args),1);
%% ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>end
%<EFBFBD><EFBFBD>ѹ<EFBFBD>
output_args=[output_args;SEVolt(Balance)-1];
%<EFBFBD><EFBFBD><EFBFBD>Ǻ
output_args=[output_args;SEVAngel(Balance)];
this.cu=zeros(length(output_args),1);
this.cl=zeros(length(output_args),1);
%% <EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>
output_args=full(output_args);
this.cu=full(this.cu);
this.cl=full(this.cl);
end