This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

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.


Polynomial evaluation


y = polyval(p,x)
[y,delta] = polyval(p,x,S)
y = polyval(p,x,[],mu)
[y,delta] = polyval(p,x,S,mu)


y = polyval(p,x) returns the value of a polynomial of degree n evaluated at x. The input argument p is a vector of length n+1 whose elements are the coefficients in descending powers of the polynomial to be evaluated.

y = p1xn + p2xn–1 + … + pnx + pn+1

x can be a matrix or a vector. In either case, polyval evaluates p at each element of x.

[y,delta] = polyval(p,x,S) uses the optional output structure S generated by polyfit to generate error estimates delta. delta is an estimate of the standard deviation of the error in predicting a future observation at x by p(x). If the coefficients in p are least squares estimates computed by polyfit, and the errors in the data input to polyfit are independent, normal, and have constant variance, then y±delta contains at least 50% of the predictions of future observations at x.

y = polyval(p,x,[],mu) or [y,delta] = polyval(p,x,S,mu) use x^=(xμ1)/μ2 in place of x. In this equation, μ1=mean(x) and μ2=std(x). The centering and scaling parameters mu = [μ1,μ2] are optional output computed by polyfit.


The polynomial p(x)=3x2+2x+1 is evaluated at x = 5, 7, and 9 with

p = [3 2 1];
polyval(p,[5 7 9])

which results in

ans =

    86   162   262

For another example, see polyfit.


The polyvalm(p,x) function, with x a matrix, evaluates the polynomial in a matrix sense. See polyvalm for more information.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a

Was this topic helpful?