GNU Octave Manual Version 3 by John W. Eaton, David Bateman, Søren Hauberg Paperback (6"x9"), 568 pages ISBN 095461206X RRP £24.95 ($39.95) |
26.2 Finding Roots
Octave can find the roots of a given polynomial. This is done by computing
the companion matrix of the polynomial (see the compan
function
for a definition), and then finding its eigenvalues.
- Function File: roots (v)
-
For a vector v with N components, return the roots of the polynomial
v(1) * z^(N-1) + ... + v(N-1) * z + v(N)
As an example, the following code finds the roots of the quadratic polynomial
p(x) = x^2 - 5.
c = [1, 0, -5]; roots(c) => 2.2361 => -2.2361
Note that the true result is +/- sqrt(5)
which is roughly +/- 2.2361.
See also compan
- Function File: compan (c)
- 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.
See also poly, roots, residue, conv, deconv, polyval, polyderiv, polyinteg
ISBN 095461206X | GNU Octave Manual Version 3 | See the print edition |