scipy.signal.

residue#

scipy.signal.residue(b, a, tol=0.001, rtype='avg')[Quelle]#

Berechnet die Partialbruchzerlegung von b(s) / a(s).

Wenn M der Grad des Zählers b und N der Grad des Nenners a ist,

        b(s)     b[0] s**(M) + b[1] s**(M-1) + ... + b[M]
H(s) = ------ = ------------------------------------------
        a(s)     a[0] s**(N) + a[1] s**(N-1) + ... + a[N]

dann ist die Partialbruchzerlegung H(s) definiert als

    r[0]       r[1]             r[-1]
= -------- + -------- + ... + --------- + k(s)
  (s-p[0])   (s-p[1])         (s-p[-1])

Wenn es wiederholte Wurzeln gibt (näher beieinander als tol), dann hat H(s) Terme wie

  r[i]      r[i+1]              r[i+n-1]
-------- + ----------- + ... + -----------
(s-p[i])  (s-p[i])**2          (s-p[i])**n

Diese Funktion wird für Polynome in positiven Potenzen von s oder z verwendet, wie z.B. analoge Filter oder digitale Filter im Steuerungsingenieurwesen. Für negative Potenzen von z (typisch für digitale Filter in DSP) verwenden Sie residuez.

Siehe Hinweise für Details zum Algorithmus.

Parameter:
barray_like

Koeffizienten des Zählerpolynoms.

aarray_like

Koeffizienten des Nennerpolynoms.

tolfloat, optional

Die Toleranz dafür, dass zwei Nullstellen als gleich betrachtet werden, basierend auf ihrer Entfernung voneinander. Standardwert ist 1e-3. Weitere Details finden Sie unter unique_roots.

rtype{‘avg’, ‘min’, ‘max’}, optional

Methode zur Berechnung einer Nullstelle, die eine Gruppe identischer Nullstellen repräsentiert. Standardwert ist ‘avg’. Weitere Details finden Sie unter unique_roots.

Rückgabe:
rndarray

Residuen, die den Polen entsprechen. Bei wiederholten Polen werden die Residuen so geordnet, dass sie aufsteigend nach Potenzen von Brüchen geordnet sind.

pndarray

Pole, geordnet nach Betrag in aufsteigender Reihenfolge.

kndarray

Koeffizienten des direkten Polynomterms.

Hinweise

Der Algorithmus "Deflation durch Subtraktion" wird für Berechnungen verwendet – Methode 6 in [1].

Die Form der Partialbruchzerlegung hängt von der Multiplizität der Pole im exakten mathematischen Sinne ab. Es gibt jedoch keine Möglichkeit, die Multiplizität von Wurzeln eines Polynoms in der numerischen Berechnung exakt zu bestimmen. Daher sollten Sie das Ergebnis von residue mit dem gegebenen tol als Partialbruchzerlegung betrachten, die für den Nenner berechnet wird, der aus den berechneten Polen mit empirisch ermittelter Multiplizität besteht. Die Wahl von tol kann das Ergebnis drastisch ändern, wenn die Pole nahe beieinander liegen.

Referenzen

[1]

J. F. Mahoney, B. D. Sivazlian, „Partial fractions expansion: a review of computational methodology and efficiency“, Journal of Computational and Applied Mathematics, Vol. 9, 1983.