Home > mpt > extras > analysis > mpt_reachSets.m

# mpt_reachSets

## PURPOSE

MPT_REACHSETS Computes sets of reachable states for a given system / controller

## SYNOPSIS

function [Psets, Vsets, PreachN, VreachN] = mpt_reachSets(structure, X0, U0, N, Options)

## DESCRIPTION

MPT_REACHSETS Computes sets of reachable states for a given system / controller

[Rsets, Vsets] = mpt_reachSets(structure, X0, U0, N, Options)

---------------------------------------------------------------------------
DESCRIPTION
---------------------------------------------------------------------------
Calculates set of states which are reachable from a given polytope X0 in N
steps. The system under consideration can be either linear (LTI), or PWA.
Input argument can be either a system in sysStruct format, or an explicit
controller computed by mpt_control. In that case, the autonomous system is
defined as:
x(k+1) = (A+Fi)*x + (Gi+f)

If the system is not autonomuos, it is converted to such by setting
x(k+1) = A*x + fcl
where
fcl = f + B*Options.U

Options.U is set to zero by default.

WARNING: By default, this function computes only fully dimensional reachable
sets! Use "Options.lowdim=1" to tell the function to compute lower dimensional
sets as well.

USAGE:
Psets = mpt_reachSets(sysStruct, X0, N, Options)     - assumes u = 0
Psets = mpt_reachSets(sysStruct, X0, U0, N, Options) - assumes u \in U0
Psets = mpt_reachSets(ctrl, X0, N, Options)
[Psets, Vsets] = mpt_reachSets(sysStruct, X0, N, Options)
[Psets, Vsets] = mpt_reachSets(sysStruct, X0, U0, N, Options)
[Psets, Vsets] = mpt_reachSets(ctrl, X0, N, Options)

---------------------------------------------------------------------------
INPUT
---------------------------------------------------------------------------
structure       - either a sysStruct structure, or an explicit controller
X0              - set of initial states (polytope or a polyarray)
U0              - set of admissible inputs (polytope object)
N               - number of steps over which to compute reachable sets
Options.lowdim  - if set to 1, evolution of lower-dimensional sets will be
computed. in such case, these lower-dimensional sets will be
returned as V-represented polytopes (with vertices stored
column-wise!). Default: 0
Options.reduceV - if set to 1, V-represented lower-dimensional polytopes will
be reduced to a minimal representation. Default: 0
Options.verbose - level of verbosity (0/1/2)

---------------------------------------------------------------------------
OUTPUT
---------------------------------------------------------------------------
Psets       - Sets of fully dimensional reachable states (polyarray)
Vsets       - Lower-dimensional reachable sets (returned as a cell array, each
element represents one polytope in V-representation with
vertices stored row-wise).

see also POLYTOPE/RANGE, MPT_REACHXU, MPT_VERIFY

## CROSS-REFERENCE INFORMATION

This function calls:
• isexplicit ISEXPLICIT Returns true if the controller is an explicit controller
• length LENGTH Returns number of regions over which the explicit control law is defined
• chebyball CHEBYBALL Computes center and radius of the largest ball inscribed in a polytope
• dimension DIMENSION Returns dimension of the given polytope
• dointersect DOINTERSECT Checks if two polytopes / polyarrays intersect
• double DOUBLE Function used to access internal properties of the given polytope
• end END Returns the last element in a given polytope array
• extreme EXTREME Calculates extreme points of a given polytope
• isfulldim ISFULLDIM Checks if a polytope is full dimensional
• length LENGTH Returns number of elements in a polytope array
• pelemfun PELEMFUN Execute the specified function on each element of a polytope array
• polytope POLYTOPE Default constructor for the POLYTOPE object
• projection PROJECTION Projection of a polytope or a polytope array
• range RANGE Affine transformation of a polytope
• reduceunion REDUCEUNION Removes redundant elements from a polytope array
• size SIZE Returns size of the given polytope object
• mpt_isValidCS MPT_ISVALIDCS Checks if input argument is a valid controller structure
• mpt_issysstruct MPT_ISSYSSTRUCT Returns true if input argument is a sysStruct structure
• mpt_lti2pwa MPT_LTI2PWA Converts an LTI system to a PWA system
• mpt_solveLPi MPT_SOLVELPi Interface to various LP solvers (version without errorchecks)
• mpt_sysStructInfo MPT_SYSSTRUCTINFO Returns information about system structure
• mpt_verifySysStruct MPT_VERIFYSYSSTRUCT Verifies the sysStruct structure
This function is called by:

Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003