Main Content

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

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(x)={p}_{2}{x}^{2}+{p}_{1}x+{p}_{0}.$$

Create a vector to represent the quadratic polynomial $$p(x)={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(x)=4{x}^{5}-3{x}^{2}+2x+33$$.

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

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(2)$$.

polyval(p,2)

ans = 153

Alternatively, you can evaluate a polynomial in a matrix sense using `polyvalm`

. The polynomial expression in one variable, $$p(x)=4{x}^{5}-3{x}^{2}+2x+33$$, becomes the matrix expression

$$p(X)=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

`poly`

| `polyval`

| `polyvalm`

| `roots`