@@ -623,7 +623,12 @@ def initial_response(sys, T=None, X0=0., input=0, output=None,
623
623
# Create time and input vectors; checking is done in forced_response(...)
624
624
# The initial vector X0 is created in forced_response(...) if necessary
625
625
if T is None :
626
- T = _default_response_times (sys .A , 100 )
626
+ if isctime (sys ):
627
+ T = _default_response_times (sys .A , 1000 )
628
+ else :
629
+ # For discrete time, use integers
630
+ tvec = _default_response_times (sys .A , 1000 )
631
+ T = range (int (np .ceil (max (tvec ))))
627
632
U = np .zeros_like (T )
628
633
629
634
T , yout , _xout = forced_response (sys , T , U , X0 , transpose = transpose )
@@ -707,7 +712,13 @@ def impulse_response(sys, T=None, X0=0., input=0, output=None,
707
712
708
713
# Compute T and U, no checks necessary, they will be checked in lsim
709
714
if T is None :
710
- T = _default_response_times (sys .A , 100 )
715
+ if isctime (sys ):
716
+ T = _default_response_times (sys .A , 100 )
717
+ else :
718
+ # For discrete time, use integers
719
+ tvec = _default_response_times (sys .A , 100 )
720
+ T = range (int (np .ceil (max (tvec ))))
721
+
711
722
U = np .zeros_like (T )
712
723
713
724
# Compute new X0 that contains the impulse
0 commit comments