Continuous-time linear time invariant system base class.
Parameters ---------- *system : arguments The `lti` class can be instantiated with either 2, 3 or 4 arguments. The following gives the number of arguments and the corresponding continuous-time subclass that is created:
* 2: `TransferFunction`: (numerator, denominator) * 3: `ZerosPolesGain`: (zeros, poles, gain) * 4: `StateSpace`: (A, B, C, D)
Each argument can be an array or a sequence.
See Also -------- ZerosPolesGain, StateSpace, TransferFunction, dlti
Notes ----- `lti` instances do not exist directly. Instead, `lti` creates an instance of one of its subclasses: `StateSpace`, `TransferFunction` or `ZerosPolesGain`.
If (numerator, denominator) is passed in for ``*system``, coefficients for both the numerator and denominator should be specified in descending exponent order (e.g., ``s^2 + 3s + 5`` would be represented as ``1, 3, 5``).
Changing the value of properties that are not directly part of the current system representation (such as the `zeros` of a `StateSpace` system) is very inefficient and may lead to numerical inaccuracies. It is better to convert to the specific system representation first. For example, call ``sys = sys.to_zpk()`` before accessing/changing the zeros, poles or gain.
Examples -------- >>> from scipy import signal
>>> signal.lti(1, 2, 3, 4) StateSpaceContinuous( array([1]), array([2]), array([3]), array([4]), dt: None )
>>> signal.lti(1, 2, 3, 4, 5) ZerosPolesGainContinuous( array(1, 2), array(3, 4), 5, dt: None )
>>> signal.lti(3, 4, 1, 2) TransferFunctionContinuous( array(3., 4.), array(1., 2.), dt: None )