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

38 lines
1020 B
Mathematica
Raw Normal View History

function [ output_args,this ] = equ( this,x )
%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;
Balance=this.Balance;
Y=this.Y;
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));
2013-04-17 11:15:22 +08:00
VAngel=x(length(PDi)+length(QDi)+length(Volt0)+1:end);
PD_=zeros(length(Volt0),1);
QD_=zeros(length(Volt0),1);
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;
2013-04-17 11:15:22 +08:00
output_args=[dP;dQ;VAngel(Balance)];
%% <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>ʽԼ<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>ѹ\PD\QD
%<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽԼ<EFBFBD><EFBFBD>
this.cu=zeros(length(output_args),1);
this.cl=this.cu;
output_args=[output_args;Volt];
output_args=full(output_args);
%<EFBFBD><EFBFBD>ѹ
this.cu=[this.cu;1.1*ones(length(Volt),1)];
this.cl=[this.cl;0.9*ones(length(Volt),1)];
end