|
21 | 21 | import numpy as np
|
22 | 22 | import scipy as sp
|
23 | 23 | import scipy.linalg
|
24 |
| -from numpy import any, array, asarray, concatenate, cos, delete, empty, \ |
25 |
| - exp, eye, isinf, ones, pad, sin, squeeze, zeros |
| 24 | +from numpy import any, array, asarray, concatenate, cos, delete, empty, exp, \ |
| 25 | + eye, isinf, ones, pad, sin, squeeze, zeros |
26 | 26 | from numpy.linalg import LinAlgError, eigvals, matrix_rank, solve
|
27 | 27 | from numpy.random import rand, randn
|
28 | 28 | from scipy.signal import StateSpace as signalStateSpace
|
29 | 29 | from scipy.signal import cont2discrete
|
30 | 30 |
|
| 31 | +import control |
| 32 | + |
31 | 33 | from . import config
|
32 | 34 | from .exception import ControlMIMONotImplemented, ControlSlycot, slycot_check
|
33 | 35 | from .frdata import FrequencyResponseData
|
|
36 | 38 | common_timebase, iosys_repr, isdtime, issiso
|
37 | 39 | from .lti import LTI, _process_frequency_response
|
38 | 40 | from .nlsys import InterconnectedSystem, NonlinearIOSystem
|
39 |
| -import control |
40 | 41 |
|
41 | 42 | try:
|
42 | 43 | from slycot import ab13dd
|
@@ -1432,7 +1433,7 @@ def output(self, t, x, u=None, params=None):
|
1432 | 1433 | raise ValueError("len(u) must be equal to number of inputs")
|
1433 | 1434 | return (self.C @ x).reshape((-1,)) \
|
1434 | 1435 | + (self.D @ u).reshape((-1,)) # return as row vector
|
1435 |
| - |
| 1436 | + |
1436 | 1437 | # convenience aliase, import needs to go over the submodule to avoid circular imports
|
1437 | 1438 | initial_response = control.timeresp.initial_response
|
1438 | 1439 |
|
|
0 commit comments