Closed
Description
I have step responses that go negative and sometimes stay negative, and it breaks the settling time calculation and rise time calculation. I've been messing around with it and might open a pull request if this is something y'all would be interested in.
For example, here is my code, the step response plot, and the error
from control import tf, step_response, step_info
import matplotlib.pyplot as plt
import numpy as np
transfer_function = tf( [3.32, 0, -162.8], [1, 24.56, 186.5, 457.8, 116.2] )
time, response = step_response(transfer_function)
fig, ax = plt.subplots(1, 1)
ax.plot(time, response)
plt.show()
step_info(transfer_function)
step_info()
gives the following error
Traceback (most recent call last):
File "bug_test.py", line 14, in <module>
step_info(transfer_function)
File "/Users/hgducharme/Programming/pendulum/env/lib/python3.7/site-packages/control/timeresp.py", line 536, in step_info
SettlingTime = T[i + 1]
IndexError: index 1000 is out of bounds for axis 0 with size 1000
When I run this code in MATLAB, I get the following result