control.matlab.gram

control.matlab.gram(sys, type)[source]

Gramian (controllability or observability).

Parameters:
sysStateSpace

System description.

typeString

Type of desired computation. type is either ‘c’ (controllability) or ‘o’ (observability). To compute the Cholesky factors of Gramians use ‘cf’ (controllability) or ‘of’ (observability).

Returns:
gram2D array

Gramian of system.

Raises:
ValueError
  • If system is not instance of StateSpace class, or

  • if type is not ‘c’, ‘o’, ‘cf’ or ‘of’, or

  • if system is unstable (sys.A has eigenvalues not in left half plane).

ControlSlycot

If slycot routine sb03md cannot be found or if slycot routine sb03od cannot be found.

Examples

>>> G = ct.rss(4)
>>> Wc = ct.gram(G, 'c')
>>> Wo = ct.gram(G, 'o')
>>> Rc = ct.gram(G, 'cf')  # where Wc = Rc' * Rc
>>> Ro = ct.gram(G, 'of')  # where Wo = Ro' * Ro