control.zpk

control.zpk(zeros, poles, gain[, dt])[source]

Create a transfer function from zeros, poles, gain.

Given a list of zeros z_i, poles p_j, and gain k, return the transfer function:

H(s) = k \frac{(s - z_1) (s - z_2) \cdots (s - z_m)}
               {(s - p_1) (s - p_2) \cdots (s - p_n)}

Parameters
  • zeros (array_like) – Array containing the location of zeros.

  • poles (array_like) – Array containing the location of zeros.

  • gain (float) – System gain

  • dt (None, True or float, optional) – System timebase. 0 (default) indicates continuous time, True indicates discrete time with unspecified sampling time, positive number is discrete time with specified sampling time, None indicates unspecified timebase (either continuous or discrete time).

  • inputs (str, or list of str, optional) – List of strings that name the individual signals. If this parameter is not given or given as None, the signal names will be of the form s[i] (where s is one of u, y, or x). See InputOutputSystem for more information.

  • outputs (str, or list of str, optional) – List of strings that name the individual signals. If this parameter is not given or given as None, the signal names will be of the form s[i] (where s is one of u, y, or x). See InputOutputSystem for more information.

  • states (str, or list of str, optional) – List of strings that name the individual signals. If this parameter is not given or given as None, the signal names will be of the form s[i] (where s is one of u, y, or x). See InputOutputSystem for more information.

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

Returns

out – Transfer function with given zeros, poles, and gain.

Return type

TransferFunction