


MPT_GETINPUTXU For a given state, extracts the an output from an XUset
[U,feasible,Pn_region,XU_region]=mpt_getInputXU(ctrl,x0,Options)
---------------------------------------------------------------------------
DESCRIPTION
---------------------------------------------------------------------------
For the given state x0, this function extracts an output based on different
strategies from an XU-stability set given by means of the controller structure
ctrlStruct. It is assumed that the controller partition is non-overlapping in
the X space
---------------------------------------------------------------------------
INPUT
---------------------------------------------------------------------------
ctrl - MPT controller
ctrl.details.XU - provided structure of the XUset
x0 - initial state
Options - optional arguments
.strategy - (global) strategy ontop of the local strategy to pick
the controller from the XUset
strategy = 'avg' - average value of u (default)
'max' - maximize u
'min' - minimize u
'mean' - mean value of u
'feas' - feasible u
.local_strategy - local strategy to pick the controller from the XUset
(governs how to solve an LP)
local_strategy = 'min' - minimize u
'max' - maximize u
'dual' - minimize & maximize U
'feas' - feasible u
'rand' - find random U
default: is chosen according to the global strategy
.abs_tol - absolute tolerance
.verbose - Level of verbosity
Note: If Options is missing or some of the fields are not defined, the default
values from mptOptions will be used
---------------------------------------------------------------------------
OUTPUT
---------------------------------------------------------------------------
U - control input computed based on different strategies
feasible - returns 1 if the there is at least one control law associated to
a given state x0, 0 otherwise
Pn_region - index of the first region of ctrl.Pn which contains the optimal
control input associated to the given state x0
XU_region - indices of ctrl.details.XU which contain the given state x0
see also MPT_COMPUTETRAJECTORY, MPT_PLOTTIMETRAJECTORY, MPT_XUSETPWALYAP