# roots

Polynomial roots

## Syntax

``r = roots(p)``

## Description

example

````r = roots(p)` returns the roots of the polynomial represented by `p` as a column vector. Input `p` is a vector containing `n+1` polynomial coefficients, starting with the coefficient of xn. 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}+...+{p}_{n}x+{p}_{n+1}=0$. Polynomial equations contain a single variable with nonnegative exponents.```

## Examples

collapse all

Solve the equation $3{x}^{2}-2x-4=0$.

Create a vector to represent the polynomial, then find the roots.

```p = [3 -2 -4]; r = roots(p)```
```r = 2×1 1.5352 -0.8685 ```

Solve the equation ${x}^{4}-1=0$.

Create a vector to represent the polynomial, then find the roots.

```p = [1 0 0 0 -1]; r = roots(p)```
```r = 4×1 complex -1.0000 + 0.0000i 0.0000 + 1.0000i 0.0000 - 1.0000i 1.0000 + 0.0000i ```

## Input Arguments

collapse all

Polynomial coefficients, specified as a vector. For example, the vector `[1 0 1]` represents the polynomial ${x}^{2}+1$, and the vector `[3.13 -2.21 5.99]` represents the polynomial $3.13{x}^{2}-2.21x+5.99$.

Data Types: `single` | `double`
Complex Number Support: Yes

## Tips

• 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.

## Algorithms

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`.

## Version History

Introduced before R2006a