Model Simplification Tools

control.balred(sys, orders, method='truncate')

Balanced reduced order model of sys of a given order. States are eliminated based on Hankel singular value.

Parameters:

sys: StateSpace

Original system to reduce

orders: integer or array of integer

Desired order of reduced order model (if a vector, returns a vector of systems)

method: string

Method of removing states, either 'truncate' or 'matchdc'.

Returns:

rsys: StateSpace

A reduced order model

Raises:

ValueError

  • if method is not 'truncate'
  • if eigenvalues of sys.A are not all in left half plane (sys must be stable)

ImportError

if slycot routine ab09ad is not found

Examples

>>> rsys = balred(sys, order, method='truncate') 
control.hsvd(sys)

Calculate the Hankel singular values.

Parameters:

sys : StateSpace

A state space system

Returns:

H : Matrix

A list of Hankel singular values

See also

gram

Notes

The Hankel singular values are the singular values of the Hankel operator. In practice, we compute the square root of the eigenvalues of the matrix formed by taking the product of the observability and controllability gramians. There are other (more efficient) methods based on solving the Lyapunov equation in a particular way (more details soon).

Examples

>>> H = hsvd(sys)
control.modred(sys, ELIM, method='matchdc')

Model reduction of sys by eliminating the states in ELIM using a given method.

Parameters:

sys: StateSpace

Original system to reduce

ELIM: array

Vector of states to eliminate

method: string

Method of removing states in ELIM: either 'truncate' or 'matchdc'.

Returns:

rsys: StateSpace

A reduced order model

Raises:

ValueError

  • if method is not either 'matchdc' or 'truncate'
  • if eigenvalues of sys.A are not all in left half plane (sys must be stable)

Examples

>>> rsys = modred(sys, ELIM, method='truncate')

Previous topic

Control System Synthesis

Next topic

Utility Functions

This Page