Next: Finding Roots, Up: Polynomial Manipulations [Contents][Index]

The value of a polynomial represented by the vector `c` can be evaluated
at the point `x` very easily, as the following example shows:

N = length (c) - 1; val = dot (x.^(N:-1:0), c);

While the above example shows how easy it is to compute the value of a
polynomial, it isn’t the most stable algorithm. With larger polynomials
you should use more elegant algorithms, such as Horner’s Method, which
is exactly what the Octave function `polyval`

does.

In the case where `x` is a square matrix, the polynomial given by
`c` is still well-defined. As when `x` is a scalar the obvious
implementation is easily expressed in Octave, but also in this case
more elegant algorithms perform better. The `polyvalm`

function
provides such an algorithm.

- Function File:
`y`=**polyval***(*`p`,`x`) - Function File:
`y`=**polyval***(*`p`,`x`, [],`mu`) - Function File:
*[*`y`,`dy`] =**polyval***(*`p`,`x`,`s`) - Function File:
*[*`y`,`dy`] =**polyval***(*`p`,`x`,`s`,`mu`) -
Evaluate the polynomial

`p`at the specified values of`x`.If

`x`is a vector or matrix, the polynomial is evaluated for each of the elements of`x`.When

`mu`is present, evaluate the polynomial for (`x`-`mu`(1))/`mu`(2).In addition to evaluating the polynomial, the second output represents the prediction interval,

`y`+/-`dy`, which contains at least 50% of the future predictions. To calculate the prediction interval, the structured variable`s`, originating from`polyfit`

, must be supplied.**See also:**polyvalm, polyaffine, polyfit, roots, poly.

- Function File:
**polyvalm***(*`c`,`x`) Evaluate a polynomial in the matrix sense.

`polyvalm (`

will evaluate the polynomial in the matrix sense, i.e., matrix multiplication is used instead of element by element multiplication as used in`c`,`x`)`polyval`

.The argument

`x`must be a square matrix.

Next: Finding Roots, Up: Polynomial Manipulations [Contents][Index]