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 the- zerosand \(p\) are the- poles.- ZerosPolesGainsystems inherit additional functionality from the- lti, respectively the- dlticlasses, 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: - ltior- dltisystem: (- StateSpace,- TransferFunctionor- ZerosPolesGain)
- 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.
 
- Attributes:
- dt
- Return the sampling time of the system, None for - ltisystems.
- gain
- Gain of the - ZerosPolesGainsystem.
- poles
- Poles of the - ZerosPolesGainsystem.
- zeros
- Zeros 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. - 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, call- sys = 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 )