control.matlab.stepinfo

control.matlab.stepinfo(sysdata, T=None, yfinal=None, SettlingTimeThreshold=0.02, RiseTimeLimits=(0.1, 0.9))[source]

Step response characteristics (rise time, settling time, etc).

Parameters
sysdataStateSpace or TransferFunction or array_like

The system data. Either LTI system to simulate (StateSpace, TransferFunction), or a time series of step response data.

Tarray_like or float, optional

Time vector, or simulation time duration if a number (time vector is autocomputed if not given). Required, if sysdata is a time series of response data.

yfinalscalar or array_like, optional

Steady-state response. If not given, sysdata.dcgain() is used for systems to simulate and the last value of the the response data is used for a given time series of response data. Scalar for SISO, (noutputs, ninputs) array_like for MIMO systems.

SettlingTimeThresholdfloat, optional

Defines the error to compute settling time (default = 0.02).

RiseTimeLimitstuple (lower_threshold, upper_threshold)

Defines the lower and upper threshold for RiseTime computation.

Returns
Sdict or list of list of dict

If sysdata corresponds to a SISO system, S is a dictionary containing:

  • ‘RiseTime’: Time from 10% to 90% of the steady-state value.

  • ‘SettlingTime’: Time to enter inside a default error of 2%.

  • ‘SettlingMin’: Minimum value after RiseTime.

  • ‘SettlingMax’: Maximum value after RiseTime.

  • ‘Overshoot’: Percentage of the peak relative to steady value.

  • ‘Undershoot’: Percentage of undershoot.

  • ‘Peak’: Absolute peak value.

  • ‘PeakTime’: Time that the first peak value is obtained.

  • ‘SteadyStateValue’: Steady-state value.

If sysdata corresponds to a MIMO system, S is a 2D list of dicts. To get the step response characteristics from the jth input to the ith output, access S[i][j].

See also

step, lsim, initial, impulse

Examples

>>> from control.matlab import stepinfo, rss
>>> G = rss(4)
>>> S = stepinfo(G)