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.

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

A class for representing state-space models.

TransferFunction(num, den[, dt])

A class for representing transfer functions.

InputOutputSystem([params])

A class for representing input/output systems.

FrequencyResponseData(d, w[, smooth])

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

TimeResponseData(time, outputs[, states, ...])

A class for returning time responses.

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:

_images/classes.pdf

Input/output system subclasses

Input/output systems are accessed primarily via a set of subclasses that allow for linear, nonlinear, and interconnected elements:

InputOutputSystem

A class for representing input/output systems.

InterconnectedSystem

Interconnection of a set of input/output systems.

LinearICSystem

Interconnection of a set of linear input/output systems.

LinearIOSystem

Input/output representation of a linear (state space) system.

NonlinearIOSystem

Nonlinear I/O system.

Additional classes

DescribingFunctionNonlinearity

Base class for nonlinear systems with a describing function.

flatsys.BasisFamily

Base class for implementing basis functions for flat systems.

flatsys.FlatSystem

Base class for representing a differentially flat system.

flatsys.LinearFlatSystem

Base class for a linear, differentially flat system.

flatsys.PolyFamily

Polynomial basis functions.

flatsys.SystemTrajectory

Class representing a system trajectory.

optimal.OptimalControlProblem

Description of a finite horizon, optimal control problem.

optimal.OptimalControlResult

Result from solving an optimal control problem.