# Polynomial Evaluation

Evaluate polynomial expression

Libraries:
DSP System Toolbox / Math Functions / Polynomial Functions

## Description

The Polynomial Evaluation block applies a polynomial function to the real or complex input at the In port.

The equivalent MATLAB® code is shown below.

`y = polyval(u)`

The Polynomial Evaluation block performs this operation more efficiently than the equivalent construction using the Sum (Simulink) and Math Function (Simulink) blocks.

## Examples

expand all

Open the `ex_leastsquarespolyfit_ref` model. The Polynomial Evaluation block uses the second-order polynomial below to generate four values of dependent variable y from four values of independent variable u received at the top port.

The polynomial coefficients are supplied in the vector [-2 0 3] at the bottom port. Note that the coefficient of the first-order term is zero.

The Control points parameter of the Least Squares Polynomial Fit block is configured with the same four values of independent variable u that are used as input to the Polynomial Evaluation block, [1 2 3 4]. The Least Squares Polynomial Fit block uses these values together with the input values of dependent variable y to reconstruct the original polynomial coefficients.

## Ports

### Input

expand all

Specify the input data on which the block applies the polynomial function as a vector or a matrix.

Data Types: `single` | `double`
Complex Number Support: Yes

Specify a vector of coefficients in order of descending exponents. For more information on how the block operates for various coefficient vectors, see Constant coefficients.

#### Dependencies

To enable this port, clear the Use constant coefficients check box.

Data Types: `single` | `double`
Complex Number Support: Yes

### Output

expand all

The block applies the polynomial function on the input data and outputs a vector or a matrix of the same size and complexity as the input data.

Data Types: `single` | `double`
Complex Number Support: Yes

## Parameters

expand all

When you select the Use constant coefficients check box, you specify the polynomial expression in the Constant coefficients parameter. When you do not select the Use constant coefficients check box, you specify a variable polynomial expression through the Coeffs port. In both cases, the polynomial is specified as a vector of real or complex coefficients in the order of descending exponents.

Specify the vector of polynomial coefficients to apply to the input in order of descending exponents.

The table below shows some examples of the block's operation for various coefficient vectors.

Coefficient VectorEquivalent Polynomial Expression
`[1 2 3 4 5]`

$y={u}^{4}+2{u}^{3}+3{u}^{2}+4u+5$

`[1 0 3 0 5]`

$y={u}^{4}+3{u}^{2}+5$

`[1 2+i 3 4-3i 5i]`

$y={u}^{4}+\left(2+i\right){u}^{3}+3{u}^{2}+\left(4-3i\right)u+5i$

#### Dependencies

To enable this parameter, select the Use constant coefficients check box.

Complex Number Support: Yes

## Block Characteristics

 Data Types `double` | `single` Multidimensional Signals `No` Variable-Size Signals `No`

## Version History

Introduced before R2006a