Main Content

residue

Partial fraction expansion (partial fraction decomposition)

Description

[r,p,k] = residue(b,a) finds the residues, poles, and direct term of a Partial Fraction Expansion of the ratio of two polynomials, where the expansion is of the form

b(s)a(s)=bmsm+bm1sm1++b1s+b0ansn+an1sn1++a1s+a0=rnspn+...+r2sp2+r1sp1+k(s).

The inputs to residue are vectors of coefficients of the polynomials b = [bm ... b1 b0] and a = [an ... a1 a0]. The outputs are the residues r = [rn ... r2 r1], the poles p = [pn ... p2 p1], and the polynomial k. For most textbook problems, k is 0 or a constant.

example

[b,a] = residue(r,p,k) converts the partial fraction expansion back to the ratio of two polynomials and returns the coefficients in b and a.

example

Examples

collapse all

Find the partial fraction expansion of the following ratio of polynomials F(s) using residue

F(s)=b(s)a(s)=-4s+8s2+6s+8.

b = [-4 8];
a = [1 6 8];
[r,p,k] = residue(b,a)
r = 2×1

   -12
     8

p = 2×1

    -4
    -2

k =

     []

This represents the partial fraction expansion

-4s+8s2+6s+8=-12s+4+8s+2.

Convert the partial fraction expansion back to polynomial coefficients using residue.

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

    -4     8

a = 1×3

     1     6     8

This result represents the original fraction F(s).

If the degree of the numerator is equal to the degree of the denominator, the output k can be nonzero.

Find the partial fraction expansion of a ratio of two polynomials F(s) with complex roots and equal degree of numerator and denominator, where F(s) is

F(s)=b(s)a(s)=2s3+s2s3+s+1.

b = [2 1 0 0];
a = [1 0 1 1];
[r,p,k] = residue(b,a)
r = 3×1 complex

   0.5354 + 1.0390i
   0.5354 - 1.0390i
  -0.0708 + 0.0000i

p = 3×1 complex

   0.3412 + 1.1615i
   0.3412 - 1.1615i
  -0.6823 + 0.0000i

k = 
2

residue returns the complex roots and poles, and a constant term in k, representing the partial fraction expansion

F(s)=b(s)a(s)=2s3+s2s3+s+1=0.5354+1.0390is-(0.3412+1.1615i)+0.5354-1.0390is-(0.3412-1.1615i)+-0.0708s+0.6823+2.

When the degree of the numerator is greater than the degree of the denominator, the output k is a vector that represents the coefficients of a polynomial in s.

Perform the following partial fraction expansion of F(s) using residue.

F(s)=b(s)a(s)=2s4+ss2+1=0.5-1is-1i+0.5+1is+1i+2s2-2.

b = [2 0 0 1 0];
a = [1 0 1];
[r,p,k] = residue(b,a)
r = 2×1 complex

   0.5000 - 1.0000i
   0.5000 + 1.0000i

p = 2×1 complex

   0.0000 + 1.0000i
   0.0000 - 1.0000i

k = 1×3

     2     0    -2

k represents the polynomial 2s2-2.

Input Arguments

collapse all

Coefficients of the polynomial in the numerator, specified as a vector of numbers representing the coefficients of the polynomial in descending powers of s.

Data Types: single | double
Complex Number Support: Yes

Coefficients of the polynomial in the denominator, specified as a vector of numbers representing the coefficients of the polynomial in descending powers of s.

Data Types: single | double
Complex Number Support: Yes

Output Arguments

collapse all

Residues of partial fraction expansion, returned as a column vector of numbers.

Poles of partial fraction expansion, returned as a column vector of numbers.

Direct term, returned as a row vector of numbers that specify the coefficients of the polynomial in descending powers of s.

More About

collapse all

Tips

  • residue computes the partial fraction expansion of the ratio of two polynomials in the Laplace domain. To compute partial fraction expansion in the z-domain, you can use residuez (Signal Processing Toolbox).

Algorithms

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

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 result in arbitrarily large changes in the resulting poles and residues. Problem formulations making use of state-space or zero-pole representations are preferable.

References

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

Version History

Introduced before R2006a