ZerosPolesGain#
- class scipy.signal.ZerosPolesGain(*system, **kwargs)[Quelle]#
Klasse für lineare zeitinvariante Systeme in Nullstellen-, Polstellen-, Verstärkungs-Form.
Stellt das System als kontinuierliche oder diskrete Zeitübertragungsfunktion \(H(s)=k \prod_i (s - z[i]) / \prod_j (s - p[j])\) dar, wobei \(k\) der
gain, \(z\) diezerosund \(p\) diepolessind.ZerosPolesGain-Systeme erben zusätzliche Funktionalität von den Klassenltibzw.dlti, abhängig davon, welche Systemdarstellung verwendet wird.- Parameter:
- *systemArgumente
Die Klasse
ZerosPolesGainkann mit 1 oder 3 Argumenten instanziiert werden. Das Folgende gibt die Anzahl der Eingabeargumente und ihre Interpretation an1:
ltioderdltiSystem: (StateSpace,TransferFunctionoderZerosPolesGain)3: array_like: (nullstellen, polstellen, verstärkung)
- dt: float, optional
Abtastzeit [s] der zeitdiskreten Systeme. Standardwert ist None (zeitkontinuierlich). Muss als Schlüsselwortargument angegeben werden, z.B.
dt=0.1.
- Attribute:
dtGibt die Abtastzeit des Systems zurück, bei
lti-Systemen None.VerstärkungVerstärkung des
ZerosPolesGainSystems.polesPolstellen des
ZerosPolesGainSystems.zerosNullstellen des
ZerosPolesGainSystems.
Methoden
to_ss()Konvertiert Systemrepräsentation in
StateSpace.to_tf()Konvertiert die Systemrepräsentation zu
TransferFunction.to_zpk()Gibt eine Kopie des aktuellen 'ZerosPolesGain'-Systems zurück.
Siehe auch
Hinweise
Das Ändern des Werts von Eigenschaften, die nicht Teil der
ZerosPolesGainSystemdarstellung sind (wie z. B. die Zustandsraummatrizen A, B, C, D), ist sehr ineffizient und kann zu numerischen Ungenauigkeiten führen. Es ist besser, zuerst in die spezifische Systemdarstellung zu konvertieren. Rufen Sie zum Beispielsys = sys.to_ss()auf, bevor Sie auf die Zustandsraummatrizen A, B, C, D zugreifen/diese ändern.Beispiele
Konstruiere die Übertragungsfunktion \(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 )
Konstruiere die Übertragungsfunktion \(H(z) = \frac{5(z - 1)(z - 2)}{(z - 3)(z - 4)}\) mit einer Abtastzeit von 0,1 Sekunden
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 )