scipy.signal.ZerosPolesGain#
- class scipy.signal.ZerosPolesGain(*system, **kwargs)[source]#
Linear Time Invariant system class in zeros, poles, gain form.
Represents the system as the continuous- or discrete-time transfer function \(H(s)=k \prod_i (s - z[i]) / \prod_j (s - p[j])\), where \(k\) is the
gain, \(z\) are thezerosand \(p\) are thepoles.ZerosPolesGainsystems inherit additional functionality from thelti, respectively thedlticlasses, depending on which system representation is used.- Parameters
- *systemarguments
The
ZerosPolesGainclass can be instantiated with 1 or 3 arguments. The following gives the number of input arguments and their interpretation:1:
ltiordltisystem: (StateSpace,TransferFunctionorZerosPolesGain)3: array_like: (zeros, poles, gain)
- dt: float, optional
Sampling time [s] of the discrete-time systems. Defaults to None (continuous-time). Must be specified as a keyword argument, for example,
dt=0.1.
See also
Notes
Changing the value of properties that are not part of the
ZerosPolesGainsystem representation (such as the A, B, C, D state-space matrices) is very inefficient and may lead to numerical inaccuracies. It is better to convert to the specific system representation first. For example, callsys = sys.to_ss()before accessing/changing the A, B, C, D system matrices.Examples
Construct the transfer function \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\):
>>> from scipy import signal
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
Construct the transfer function \(H(z) = \frac{5(z - 1)(z - 2)}{(z - 3)(z - 4)}\) with a sampling time of 0.1 seconds:
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 )
- Attributes
dtReturn the sampling time of the system, None for
ltisystems.gainGain of the
ZerosPolesGainsystem.polesPoles of the
ZerosPolesGainsystem.zerosZeros of the
ZerosPolesGainsystem.
Methods
to_ss()Convert system representation to
StateSpace.to_tf()Convert system representation to
TransferFunction.to_zpk()Return a copy of the current 'ZerosPolesGain' system.