control.step_response¶

control.
step_response
(sys, T=None, X0=0.0, input=None, output=None, T_num=None, transpose=False, return_x=False, squeeze=True)¶ Step response of a linear system
If the system has multiple inputs or outputs (MIMO), one input has to be selected for the simulation. Optionally, one output may be selected. The parameters input and output do this. All other inputs are set to 0, all other outputs are ignored.
For information on the shape of parameters T, X0 and return values T, yout, see Time series data.
Parameters:  sys (StateSpace, or TransferFunction) – LTI system to simulate
 T (arraylike or number, optional) – Time vector, or simulation time duration if a number. If T is not provided, an attempt is made to create it automatically from the dynamics of sys. If sys is continuoustime, the time increment dt is chosen small enough to show the fastest mode, and the simulation time period tfinal long enough to show the slowest mode, excluding poles at the origin. If this results in too many time steps (>5000), dt is reduced. If sys is discretetime, only tfinal is computed, and tfinal is reduced if it requires too many simulation steps.
 X0 (arraylike or number, optional) –
Initial condition (default = 0)
Numbers are converted to constant arrays with the correct shape.
 input (int) – Index of the input that will be used in this simulation.
 output (int) – Index of the output that will be used in this simulation. Set to None to not trim outputs
 T_num (number, optional) – Number of time steps to use in simulation if T is not provided as an array (autocomputed if not given); ignored if sys is discretetime.
 transpose (bool) – If True, transpose all input and output arrays (for backward compatibility with MATLAB and scipy.signal.lsim)
 return_x (bool) – If True, return the state vector (default = False).
 squeeze (bool, optional (default=True)) – If True, remove singledimensional entries from the shape of the output. For single output systems, this converts the output response to a 1D array.
Returns:  T (array) – Time values of the output
 yout (array) – Response of the system
 xout (array) – Individual response of each x variable
Notes
This function uses the forced_response function with the input set to a unit step.
Examples
>>> T, yout = step_response(sys, T, X0)