- control.initial_response(sys, T=None, X0=0, output=None, T_num=None, transpose=False, return_x=False, squeeze=None)¶
Compute the initial condition response for a linear system.
If the system has multiple outputs (MIMO), optionally, one output may be selected. If no selection is made for the output, all outputs are given.
For information on the shape of parameters T, X0 and return values T, yout, see Time series data.
T (array_like or float, optional) – Time vector, or simulation time duration if a number (time vector is autocomputed if not given; see
step_response()for more detail)
X0 (array_like or float, optional) – Initial condition (default = 0). Numbers are converted to constant arrays with the correct shape.
output (int) – Index of the output that will be used in this simulation. Set to None to not trim outputs.
T_num (int, 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 discrete-time.
transpose (bool, optional) – If True, transpose all input and output arrays (for backward compatibility with MATLAB and
scipy.signal.lsim()). Default value is False.
return_x (bool, optional) – If True, return the state vector when assigning to a tuple (default = False). See
forced_response()for more details.
squeeze (bool, optional) – By default, if a system is single-input, single-output (SISO) then the output response is returned as a 1D array (indexed by time). If squeeze=True, remove single-dimensional entries from the shape of the output even if the system is not SISO. If squeeze=False, keep the output as a 2D array (indexed by the output number and time) even if the system is SISO. The default value can be set using config.defaults[‘control.squeeze_time_response’].
results – Time response represented as a
TimeResponseDataobject containing the following properties:
time (array): Time values of the output.
outputs (array): Response of the system. If the system is SISO and squeeze is not True, the array is 1D (indexed by time). If the system is not SISO or
squeezeis False, the array is 2D (indexed by the output and time).
states (array): Time evolution of the state vector, represented as either a 2D array indexed by state and time (if SISO). Not affected by
The return value of the system can also be accessed by assigning the function to a tuple of length 2 (time, output) or of length 3 (time, output, state) if
- Return type
This function uses the forced_response function with the input set to zero.
>>> G = ct.rss(4) >>> T, yout = ct.initial_response(G)