Skip to content

Commit 3582040

Browse files
committed
consistent option to return xout in responses
1 parent cdd3e73 commit 3582040

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

control/timeresp.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ def step_response(sys, T=None, X0=0., input=None, output=None,
493493

494494

495495
def initial_response(sys, T=None, X0=0., input=0, output=None,
496-
transpose=False):
496+
transpose=False, return_x=False):
497497
# pylint: disable=W0622
498498
"""Initial condition response of a linear system
499499
@@ -535,6 +535,8 @@ def initial_response(sys, T=None, X0=0., input=0, output=None,
535535
Time values of the output
536536
yout: array
537537
Response of the system
538+
xout: array
539+
Individual response of each x variable
538540
539541
See Also
540542
--------
@@ -553,11 +555,15 @@ def initial_response(sys, T=None, X0=0., input=0, output=None,
553555
U = np.zeros_like(T)
554556

555557
T, yout, _xout = forced_response(sys, T, U, X0, transpose=transpose)
558+
559+
if return_x:
560+
return T, yout, _xout
561+
556562
return T, yout
557563

558564

559565
def impulse_response(sys, T=None, X0=0., input=0, output=None,
560-
transpose=False):
566+
transpose=False, return_x=False):
561567
# pylint: disable=W0622
562568
"""Impulse response of a linear system
563569
@@ -599,6 +605,8 @@ def impulse_response(sys, T=None, X0=0., input=0, output=None,
599605
Time values of the output
600606
yout: array
601607
Response of the system
608+
xout: array
609+
Individual response of each x variable
602610
603611
See Also
604612
--------
@@ -637,4 +645,8 @@ def impulse_response(sys, T=None, X0=0., input=0, output=None,
637645
T, yout, _xout = forced_response(
638646
sys, T, U, new_X0,
639647
transpose=transpose)
648+
649+
if return_x:
650+
return T, yout, _xout
651+
640652
return T, yout

0 commit comments

Comments
 (0)