separate

Purpose

Computes separating hyperplane between the set and given point.

Syntax

h = separate(S,x)
h = S.separate(x)

Description

Compute a separating hyperplane between the convex Set and the given point x. If Set is an array, the hyperplanes are returned as a cell array.

Input Arguments

S

Any set derived from ConvexSet class, e.g. YSet or Polyhedron.

Class: ConvexSet

x

The point given as vector in the same dimension as ConvexSet.

Class: double

Output Arguments

h

Separating hyperplane defined as ../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/separate1.png.

Class: double

Example(s)

Example 1

Describe a convex using YALMIP
x = sdpvar(2,1);

F = set(0.3*x'*x -0.7*x(1)<=1) + set(-x(1)+2.3*x(2)<=0.5);

S = YSet(x,F); 
 Compute the separating hyperplane from the point v=[-2,2] 
      
 v = [-3;2]; 

 h = S.separate(v) 
h =

          2.01047891957449         -2.21283525231897         -5.98777459338193

Construct a new polyhedron out of the hyperplane and plot the sets
 P = Polyhedron('He',h); 

 S.plot; hold on; axis([-4 4 -3 3]); text(v(1),v(2),'x'); P.plot; 
Plotting...
28 of 40

../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/separate_img_1.png

See Also

distance, support


© 2010-2013 Colin Neil Jones: EPF Lausanne, colin.jones@epfl.ch

© 2010-2013 Martin Herceg: ETH Zurich, herceg@control.ee.ethz.ch