control.singular_values_response

control.singular_values_response(sysdata, omega=None, omega_limits=None, omega_num=None, Hz=False)[source]

Singular value response for a system.

Computes the singular values for a system or list of systems over a (optional) frequency range.

Parameters
  • sysdata (LTI or list of LTI) – List of linear input/output systems (single system is OK).

  • omega (array_like) – List of frequencies in rad/sec to be used for frequency response.

  • Hz (bool, optional) – If True, when computing frequency limits automatically set limits to full decades in Hz instead of rad/s.

  • omega_limits (array_like of two values) – Set limits for plotted frequency range. If Hz=True the limits are in Hz otherwise in rad/s. Specifying omega as a list of two elements is equivalent to providing omega_limits.

  • omega_num (int, optional) – Number of samples to use for the frequeny range. Defaults to config.defaults[‘freqplot.number_of_samples’].

Returns

response – Frequency response with the number of outputs equal to the number of singular values in the response, and a single input.

Return type

FrequencyResponseData

Examples

>>> omegas = np.logspace(-4, 1, 1000)
>>> den = [75, 1]
>>> G = ct.tf([[[87.8], [-86.4]], [[108.2], [-109.6]]],
...           [[den, den], [den, den]])
>>> response = ct.singular_values_response(G, omega=omegas)