control.sisotool

control.sisotool(sys, kvect=None, xlim_rlocus=None, ylim_rlocus=None, plotstr_rlocus='C0', rlocus_grid=False, omega=None, dB=None, Hz=None, deg=None, omega_limits=None, omega_num=None, margins_bode=True, tvect=None)

Sisotool style collection of plots inspired by MATLAB’s sisotool. The left two plots contain the bode magnitude and phase diagrams. The top right plot is a clickable root locus plot, clicking on the root locus will change the gain of the system. The bottom left plot shows a closed loop time response.

Parameters:
  • sys (LTI object) – Linear input/output systems (SISO only)
  • kvect (list or ndarray, optional) – List of gains to use for plotting root locus
  • xlim_rlocus (tuple or list, optional) – control of x-axis range, normally with tuple (see matplotlib.axes)
  • ylim_rlocus (tuple or list, optional) – control of y-axis range
  • plotstr_rlocus (Additional options to matplotlib) – plotting style for the root locus plot(color, linestyle, etc)
  • rlocus_grid (boolean (default = False)) – If True plot s-plane grid.
  • omega (freq_range) – Range of frequencies in rad/sec for the bode plot
  • dB (boolean) – If True, plot result in dB for the bode plot
  • Hz (boolean) – If True, plot frequency in Hz for the bode plot (omega must be provided in rad/sec)
  • deg (boolean) – If True, plot phase in degrees for the bode plot (else radians)
  • omega_limits (tuple, list, .. of two values) – Limits of the to generate frequency vector. If Hz=True the limits are in Hz otherwise in rad/s.
  • omega_num (int) – number of samples
  • margins_bode (boolean) – If True, plot gain and phase margin in the bode plot
  • tvect (list or ndarray, optional) – List of timesteps to use for closed loop step response

Examples

>>> sys = tf([1000], [1,25,100,0])
>>> sisotool(sys)