In Octave a polynomial is represented by its coefficients (arranged in descending order). For example a vector $c$ of length N
p(x) = c(1) x^N + ... + c(N) x + c(N+1).
compan (c) | Function File |
Compute the companion matrix corresponding to polynomial coefficient
vector c.
The companion matrix is _ _ | -c(2)/c(1) -c(3)/c(1) ... -c(N)/c(1) -c(N+1)/c(1) | | 1 0 ... 0 0 | | 0 1 ... 0 0 | A = | . . . . . | | . . . . . | | . . . . . | |_ 0 0 ... 1 0 _| The eigenvalues of the companion matrix are equal to the roots of the polynomial. |
conv (a b) | Function File |
Convolve two vectors.
|
deconv (y a) | Function File |
Deconvolve two vectors.
If y and a are polynomial coefficient vectors b will contain the coefficients of the polynomial quotient and r will be a remander polynomial of lowest order. |
poly (a) | Function File |
If a is a square N-by-N matrix poly ( a)
is the row vector of the coefficients of det (z * eye (N) - a)
the characteristic polynomial of a. If x is a vector
poly ( x) is a vector of coefficients of the polynomial
whose roots are the elements of x.
|
polyderiv (c) | Function File |
Return the coefficients of the derivative of the polynomial whose coefficients are given by vector c. |
[p s] = polyfit (x, y, n) | Function File |
Return the coefficients of a polynomial p(x) of degree
n that minimizes
sumsq (p(x(i)) - y(i))
to best fit the data in the least squares sense.
The polynomial coefficients are returned in a row vector. If two output arguments are requested the second is a structure containing the following fields:
|
polyinteg (c) | Function File |
Return the coefficients of the integral of the polynomial whose
coefficients are represented by the vector c.
The constant of integration is set to zero. |
polyreduce (c) | Function File |
Reduces a polynomial coefficient vector to a minimum number of terms by stripping off any leading zeros. |
polyval (c x) | Function File |
Evaluate a polynomial.
If x is a vector or matrix the polynomial is evaluated at each of the elements of x. |
polyvalm (c x) | Function File |
Evaluate a polynomial in the matrix sense.
The argument x must be a square matrix. |
residue (b a, tol) | Function File |
If b and a are vectors of polynomial coefficients then
residue calculates the partial fraction expansion corresponding to the
ratio of the two polynomials.
The function Assuming b and a represent polynomials P (s) and Q(s) we have: P(s) M r(m) N ---- = SUM ------------- + SUM k(i)*s^(N-i) Q(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 vectors) and N is the length of the k vector. The argument tol is optional and if not specified, a default value of 0.001 is assumed. The tolerance value is used to determine whether poles with small imaginary components are declared real. It is also used to determine if two poles are distinct. If the ratio of the imaginary part of a pole to the real part is less than tol the imaginary part is discarded. If two poles are farther apart than tol they are distinct. 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 implies 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) |
roots (v) | Function File |
For a vector v with N components return the roots of the polynomial v(1) * z^(N-1) + ... + v(N-1) * z + v(N) |
polyout (c x) | Function File |
Write formatted polynomial
c(x) = c(1) * x^n + ... + c(n) x + c(n+1)and return it as a string or write it to the screen (if nargout is zero). x defaults to the string "s" .
|