Next: Derivatives / Integrals / Transforms, Previous: Finding Roots, Up: Polynomial Manipulations [Contents][Index]
Convolve two vectors a and b.
The output convolution is a vector with length equal to
length (a) + length (b) - 1
.
When 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
"full"
Return the full convolution. (default)
"same"
Return the central part of the convolution with the same size as a.
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
"full"
Return the full convolution. (default)
"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)
.
"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)
.
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.
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
"full"
Return the full convolution. (default)
"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)
.
"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.
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 ]
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
Next: Derivatives / Integrals / Transforms, Previous: Finding Roots, Up: Polynomial Manipulations [Contents][Index]