Create and Evaluate Polynomials

This example shows how to represent a polynomial as a vector in MATLAB® and evaluate the polynomial at points of interest.

Representing Polynomials

MATLAB® represents polynomials as row vectors containing coefficients ordered by descending powers. For example, the three-element vector

` p = [p2 p1 p0];`

represents the polynomial

`$p\left(x\right)={p}_{2}{x}^{2}+{p}_{1}x+{p}_{0}.$`

Create a vector to represent the quadratic polynomial $p\left(x\right)={x}^{2}-4x+4$.

`p = [1 -4 4];`

Intermediate terms of the polynomial that have a coefficient of `0` must also be entered into the vector, since the `0` acts as a placeholder for that particular power of `x`.

Create a vector to represent the polynomial $p\left(x\right)=4{x}^{5}-3{x}^{2}+2x+33$.

`p = [4 0 0 -3 2 33];`

Evaluating Polynomials

After entering the polynomial into MATLAB® as a vector, use the `polyval` function to evaluate the polynomial at a specific value.

Use `polyval` to evaluate $p\left(2\right)$.

`polyval(p,2)`
```ans = 153 ```

Alternatively, you can evaluate a polynomial in a matrix sense using `polyvalm`. The polynomial expression in one variable, $p\left(x\right)=4{x}^{5}-3{x}^{2}+2x+33$, becomes the matrix expression

`$p\left(X\right)=4{X}^{5}-3{X}^{2}+2X+33I,$`

where `X` is a square matrix and `I` is the identity matrix.

Create a square matrix, `X`, and evaluate `p` at `X`.

```X = [2 4 5; -1 0 3; 7 1 5]; Y = polyvalm(p,X)```
```Y = 3×3 154392 78561 193065 49001 24104 59692 215378 111419 269614 ```