control.ss2tf

control.ss2tf(sys)[source]

Transform a state space system to a transfer function.

The function accepts either 1 or 4 parameters:

ss2tf(sys)

Convert a linear system from state space into transfer function form. Always creates a new system.

ss2tf(A, B, C, D)

Create a transfer function system from the matrices of its state and output equations.

For details see: tf()

Parameters
  • sys (StateSpace) – A linear system

  • A (array_like or string) – System matrix

  • B (array_like or string) – Control matrix

  • C (array_like or string) – Output matrix

  • D (array_like or string) – Feedthrough matrix

  • inputs (str, or list of str, optional) – List of strings that name the individual signals of the transformed system. If not given, the inputs and outputs are the same as the original system.

  • outputs (str, or list of str, optional) – List of strings that name the individual signals of the transformed system. If not given, the inputs and outputs are the same as the original system.

  • name (string, optional) – System name. If unspecified, a generic name <sys[id]> is generated with a unique integer id.

Returns

out – New linear system in transfer function form

Return type

TransferFunction

Raises
  • ValueError – if matrix sizes are not self-consistent, or if an invalid number of arguments is passed in

  • TypeError – if sys is not a StateSpace object

See also

tf, ss, tf2ss

Examples

>>> A = [[-1, -2], [3, -4]]
>>> B = [[5], [6]]
>>> C = [[7, 8]]
>>> D = [[9]]
>>> sys1 = ct.ss2tf(A, B, C, D)
>>> sys_ss = ct.ss(A, B, C, D)
>>> sys_tf = ct.ss2tf(sys_ss)