Next: Derivatives / Integrals / Transforms, Previous: Finding Roots, Up: Polynomial Manipulations [Contents][Index]

- :
**conv***(*`a`,`b`) - :
**conv***(*`a`,`b`,`shape`) Convolve two vectors

`a`and`b`.The output convolution is a vector with length equal to

`length (`

. When`a`) + length (`b`) - 1`a`and`b`are the coefficient vectors of two polynomials, the convolution represents the coefficient vector of the product polynomial.The optional

`shape`argument may be`shape`=`"full"`

Return the full convolution. (default)

`shape`=`"same"`

Return the central part of the convolution with the same size as

`a`.

- :
`C`=**convn***(*`A`,`B`) - :
`C`=**convn***(*`A`,`B`,`shape`) Return the n-D convolution of

`A`and`B`.The size of the result is determined by the optional

`shape`argument which takes the following values`shape`=`"full"`

Return the full convolution. (default)

`shape`=`"same"`

Return central part of the convolution with the same size as

`A`. The central part of the convolution begins at the indices`floor ([size(`

.`B`)/2] + 1)`shape`=`"valid"`

Return only the parts which do not include zero-padded edges. The size of the result is

`max (size (A) - size (B) + 1, 0)`

.

- :
**deconv***(*`y`,`a`) Deconvolve two vectors.

`[b, r] = deconv (y, a)`

solves for`b`and`r`such that`y = conv (a, b) + r`

.If

`y`and`a`are polynomial coefficient vectors,`b`will contain the coefficients of the polynomial quotient and`r`will be a remainder polynomial of lowest order.

- :
**conv2***(*`A`,`B`) - :
**conv2***(*`v1`,`v2`,`m`) - :
**conv2***(…,*`shape`) Return the 2-D convolution of

`A`and`B`.The size of the result is determined by the optional

`shape`argument which takes the following values`shape`=`"full"`

Return the full convolution. (default)

`shape`=`"same"`

Return the central part of the convolution with the same size as

`A`. The central part of the convolution begins at the indices`floor ([size(`

.`B`)/2] + 1)`shape`=`"valid"`

Return only the parts which do not include zero-padded edges. The size of the result is

`max (size (A) - size (B) + 1, 0)`

.

When the third argument is a matrix, return the convolution of the matrix

`m`by the vector`v1`in the column direction and by the vector`v2`in the row direction.

- :
`q`=**polygcd***(*`b`,`a`) - :
`q`=**polygcd***(*`b`,`a`,`tol`) -
Find the greatest common divisor of two polynomials.

This is equivalent to the polynomial found by multiplying together all the common roots. Together with deconv, you can reduce a ratio of two polynomials.

The tolerance

`tol`defaults to`sqrt (eps)`

.**Caution:**This is a numerically unstable algorithm and should not be used on large polynomials.Example code:

polygcd (poly (1:8), poly (3:12)) - poly (3:8) ⇒ [ 0, 0, 0, 0, 0, 0, 0 ] deconv (poly (1:8), polygcd (poly (1:8), poly (3:12))) - poly (1:2) ⇒ [ 0, 0, 0 ]

- :
*[*`r`,`p`,`k`,`e`] =**residue***(*`b`,`a`) - :
*[*`b`,`a`] =**residue***(*`r`,`p`,`k`) - :
*[*`b`,`a`] =**residue***(*`r`,`p`,`k`,`e`) The first calling form computes the partial fraction expansion for the quotient of the polynomials,

`b`and`a`.The quotient is defined as

B(s) M r(m) N ---- = SUM ------------- + SUM k(i)*s^(N-i) A(s) m=1 (s-p(m))^e(m) i=1

where

*M*is the number of poles (the length of the`r`,`p`, and`e`), the`k`vector is a polynomial of order*N-1*representing the direct contribution, and the`e`vector specifies the multiplicity of the m-th residue’s pole.For example,

b = [1, 1, 1]; a = [1, -5, 8, -4]; [r, p, k, e] = residue (b, a) ⇒ r = [-2; 7; 3] ⇒ p = [2; 2; 1] ⇒ k = [](0x0) ⇒ e = [1; 2; 1]

which represents the following partial fraction expansion

s^2 + s + 1 -2 7 3 ------------------- = ----- + ------- + ----- s^3 - 5s^2 + 8s - 4 (s-2) (s-2)^2 (s-1)

The second calling form performs the inverse operation and computes the reconstituted quotient of polynomials,

`b`(s)/`a`(s), from the partial fraction expansion; represented by the residues, poles, and a direct polynomial specified by`r`,`p`and`k`, and the pole multiplicity`e`.If the multiplicity,

`e`, is not explicitly specified the multiplicity is determined by the function`mpoles`

.For example:

r = [-2; 7; 3]; p = [2; 2; 1]; k = [1, 0]; [b, a] = residue (r, p, k) ⇒ b = [1, -5, 9, -3, 1] ⇒ a = [1, -5, 8, -4] where mpoles is used to determine e = [1; 2; 1]

Alternatively the multiplicity may be defined explicitly, for example,

r = [7; 3; -2]; p = [2; 1; 2]; k = [1, 0]; e = [2; 1; 1]; [b, a] = residue (r, p, k, e) ⇒ b = [1, -5, 9, -3, 1] ⇒ a = [1, -5, 8, -4]

which represents the following partial fraction expansion

-2 7 3 s^4 - 5s^3 + 9s^2 - 3s + 1 ----- + ------- + ----- + s = -------------------------- (s-2) (s-2)^2 (s-1) s^3 - 5s^2 + 8s - 4