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

35 lines
647 B
Matlab
Executable File

function F = projection(F,x,method)
% REDUCE Removes redundant constraints using MPT
%
% Freduced = reduce(F)
%
% F : Polytopic constraint object
%
% See also POLYTOPE, PROJECTION
f = [];
F = flatten(F);
for i = 1:length(F)
if F.clauses{i}.type==2
fi = F.clauses{i}.data;
f = [f;fi(:)];
else
error('Only linear element-wise inequalities can be reduced')
end
end
if ~islinear(F)
error('Only linear element-wise inequalities can be reduced')
end
B = full(getbase(f));
P = polytope(-B(:,2:end),B(:,1));
x_vars = getvariables(F);
x = recover(x_vars);
H = get(P,'H');
K = get(P,'K');
F = (H*x <= K);