Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Polynomial roots

`r = roots(p)`

`r = roots(`

returns
the roots of the polynomial represented by `p`

)`p`

as
a column vector. Input `p`

is a vector containing `n+1`

polynomial
coefficients, starting with the coefficient of *x*^{n}.
A coefficient of `0`

indicates an intermediate power
that is not present in the equation. For example, ```
p = [3
2 -2]
```

represents the polynomial $$3{x}^{2}+2x-2$$.

The `roots`

function solves polynomial equations
of the form $${p}_{1}{x}^{n}+\mathrm{...}+{p}_{n}x+{p}_{n+1}=0$$.
Polynomial equations contain a single variable with nonnegative exponents.

Use the

`poly`

function to obtain a polynomial from its roots:`p = poly(r)`

. The`poly`

function is the inverse of the`roots`

function.Use the

`fzero`

function to find the roots of nonlinear equations. While the`roots`

function works only with polynomials, the`fzero`

function is more broadly applicable to different types of equations.

The `roots`

function considers `p`

to
be a vector with `n+1`

elements representing the `n`

th
degree characteristic polynomial of an `n`

-by-`n`

matrix, `A`

.
The roots of the polynomial are calculated by computing the eigenvalues
of the companion matrix, `A`

.

A = diag(ones(n-1,1),-1); A(1,:) = -p(2:n+1)./p(1); r = eig(A)

The results produced are the exact eigenvalues of a matrix within
roundoff error of the companion matrix, `A`

. However,
this does not mean that they are the exact roots of a polynomial whose
coefficients are within roundoff error of those in `p`

.