View on GitHub Logo


Ellipsoidal Toolbox for MATLAB

Download this project as a .zip file Download this project as a tar.gz file

Ellipsoidal Toolbox (ET) is a standalone set of easy-to-use configurable MATLAB routines and classes to perform operations with ellipsoids and hyperplanes of arbitrary dimensions. It computes the external and internal ellipsoidal approximations of geometric (Minkowski) sums and differences of ellipsoids, intersections of ellipsoids and intersections of ellipsoids with halfspaces and polytopes; distances between ellipsoids, between ellipsoids and hyperplanes, between ellipsoids and polytopes; and projections onto given subspaces.

Ellipsoidal methods are used to compute forward and backward reach sets of continuous- and discrete-time piecewise affine systems. Forward and backward reach sets can be also computed for piecewise linear systems with disturbances. It can be verified if computed reach sets intersect with given ellipsoids, hyperplanes, or polytopes.

The toolbox provides efficient plotting routines for ellipsoids, hyperplanes and reach sets.

ET documentation

Download and Installation

Right now there are two stable releases

Contact / Support

If you Found a bug and wish to report it - create an issue following these instructions.

You can also join ET discussion group and ET unit testing notification group.

In case you use ET in your research, we would greatly appreciate if you added a reference to this projectyour publications.


Animation name Description
Refinement of Ellipsoidal Approximation It starts approximating the reach set with one external (blue) and one internal (green) ellipsoids, then the number of approximating ellipsoids is doubled – now there are two external and two internal, then it is doubled again – now there are four of each, finally, there are 32 external and 32 internal ellipsoids.
Switching System The dynamics of the system changes every 5 seconds. For the first system, the external approximation is blue and internal – yellow; for the second, the external approximation is red and internal – green; for the third, the external approximation is magenta and internal – cyan. The set of initial conditions for the second system is the reach set of the first one, and the set of initial conditions for the third system – the reach set of the second one.
Switching System in 3D Tthis example is similar to the previous one, only this time it is 3-dimensional system with one switch.
Reaching Boundary Point This example illustrates how moving along the good curve using known control, we reach the boundary point of the reach set at given time.
Reaching Internal Point By squeezing the set of controls and computing 'good curves' for the squeezed set, we can steer the system to any internal point of the reach set at given time.
Choosing Control Based on Reach Set Information The control can be chosen based on the reach set computed for the next time interval. Here, the black dot chooses where to go, knowing its reach set 5 seconds ahead. The reach set is displayed in red for external, and blue – for internal approximation.
Reach Set Info in 3D This example is similar to the previous one, only in 3D.

Related Software

Ellipsoidal Calculus based on Propagation and Fusion. Propagation is an operation of obtaining an ellipsoid that satisfies an affine relation with given ellipsoid. Fusion is operation of finding an ellipsoid that tightly bounds from outside the intersection of two given ellipsoids.

Geometric Bounding Toolbox (GBT) - commercial MATLAB toolbox that deals with multidimensional convex and nonconvex polytopes and has a limited number of functions operating with ellipsoids.

Hybrid System Tools - list of free modeling and verification tools for hybrid systems.