35 lines
647 B
Matlab
Executable File
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);
|