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