Dynamic-Calibration/utils/YALMIP-master/extras/@lmi/complements.m

17 lines
493 B
Matlab
Executable File

function sys = complements(C1,C2)
%COMPLEMENTS Defines complementary constraints
%
% F = COMPLEMENTS(C1,C2)
%
% Example: F = complements(x >= 0, A*x <= b)
if ~(isa(C1,'lmi') & isa(C2,'lmi'))
error('both arguments in complements must be linear (in)equalities')
end
C1 = flatten(C1);
C2 = flatten(C2);
sys = C1;
sys.clauses{1}.data = [C1.clauses{1}.data(:) C2.clauses{1}.data(:)];
sys.clauses{1}.extra.indicators = binvar(length(C1.clauses{1}.data(:)),1);
sys.clauses{1}.type = 55;