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
sysdataLTI or list of LTI

List of linear input/output systems (single system is OK).

omegaarray_like

List of frequencies in rad/sec to be used for frequency response.

Hzbool, optional

If True, when computing frequency limits automatically set limits to full decades in Hz instead of rad/s.

Returns
responseFrequencyResponseData

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

Other Parameters
omega_limitsarray_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_numint, optional

Number of samples to use for the frequency range. Defaults to config.defaults['freqplot.number_of_samples'].

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)