Control system classes

The classes listed below are used to represent models of input/output systems (both linear time-invariant and nonlinear). They are usually created from factory functions such as tf() and ss(), so the user should normally not need to instantiate these directly.

InputOutputSystem([name, inputs, outputs, ...])

A class for representing input/output systems.

LTI([inputs, outputs, states, name])

LTI is a parent class to linear time-invariant (LTI) system objects.

StateSpace(A, B, C, D[, dt])

A class for representing state-space models.

TransferFunction(num, den[, dt])

A class for representing transfer functions.

FrequencyResponseData(d, w[, smooth])

A class for models defined by frequency response data (FRD).

NonlinearIOSystem(updfcn[, outfcn, params])

Nonlinear I/O system.

InterconnectedSystem(syslist[, connections, ...])

Interconnection of a set of input/output systems.

LinearICSystem(io_sys[, ss_sys, connection_type])

Interconnection of a set of linear input/output systems.

The following figure illustrates the relationship between the classes and some of the functions that can be used to convert objects from one class to another:


Additional classes


Base class for nonlinear systems with a describing function.


Results of describing function analysis.


Base class for implementing basis functions for flat systems.


Base class for representing a differentially flat system.


Base class for a linear, differentially flat system.


Polynomial basis functions.


Class representing a trajectory for a flat system.


Description of a finite horizon, optimal control problem.


Result from solving an optimal control problem.


Description of a finite horizon, optimal estimation problem.


Result from solving an optimal estimationproblem.

The use of these classes is described in more detail in the Differentially flat systems module and the Optimization-based control module