residue

Purpose

Convert between partial fraction expansion and polynomial coefficients.

Synopsis

[r,p,k] = residue(b,a)
[b,a] = residue(r,p,k)

Description

[r,p,k] = residue(b,a) find the residues, poles, and direct term of a partial fraction expansion of the ratio of two polynomials, b(s) and a(s). If there are no multiple roots

Vectors b and a specify the coefficients of the polynomials in descending powers of s. The residues are returned in the column vector r, the pole locations in column vector p, and the direct terms in row vector k. The number of poles n is

n = length(a)-1 = length(r) = length(p)
The direct term coefficient vector is empty if length(b) < length(a); otherwise

length(k) = length(b)-length(a)+1
If p(j) = ... = p(j+m-1) is a pole of multiplicity m, then the expansion includes terms of the form

[b,a] = residue(r,p,k), with three input arguments and two output arguments, converts the partial fraction expansion back to the polynomials with coefficients in b and a.

Algorithm

residue is an M-file. It first obtains the poles with roots. Next, if the fraction is nonproper, the direct term k is found using deconv, which performs polynomial long division. Finally, the residues are determined by evaluating the polynomial with individual roots removed. For repeated roots, the M-file resi2 computes the residues at the repeated root locations.

Limitations

Numerically, the partial fraction expansion of a ratio of polynomials represents an ill-posed problem. If the denominator polynomial, a(s), is near a polynomial with multiple roots, then small changes in the data, including roundoff errors, can make arbitrarily large changes in the resulting poles and residues. Problem formulations making use of state-space or zero-pole representations are preferable.

See Also

deconv, poly, roots

References

[1] A.V. Oppenheim and R.W. Schafer, Digital Signal Processing, p. 56, Prentice-Hall, 1975.

(c) Copyright 1994 by The MathWorks, Inc.