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.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Chebyshev polynomials of the first kind

`chebyshevT(n,x)`

`chebyshevT(`

represents
the `n`

,`x`

)`n`

th degree Chebyshev polynomial
of the first kind at the point `x`

.

Find the first five Chebyshev polynomials of
the first kind for the variable `x`

.

syms x chebyshevT([0, 1, 2, 3, 4], x)

ans = [ 1, x, 2*x^2 - 1, 4*x^3 - 3*x, 8*x^4 - 8*x^2 + 1]

Depending on its arguments, `chebyshevT`

returns
floating-point or exact symbolic results.

Find the value of the fifth-degree Chebyshev polynomial of the
first kind at these points. Because these numbers are not symbolic
objects, `chebyshevT`

returns floating-point results.

chebyshevT(5, [1/6, 1/4, 1/3, 1/2, 2/3, 3/4])

ans = 0.7428 0.9531 0.9918 0.5000 -0.4856 -0.8906

Find the value of the fifth-degree Chebyshev polynomial of the
first kind for the same numbers converted to symbolic objects. For
symbolic numbers, `chebyshevT`

returns exact symbolic
results.

chebyshevT(5, sym([1/6, 1/4, 1/3, 1/2, 2/3, 3/4]))

ans = [ 361/486, 61/64, 241/243, 1/2, -118/243, -57/64]

Floating-point evaluation of Chebyshev polynomials
by direct calls of `chebyshevT`

is numerically
stable. However, first computing the polynomial using a symbolic variable,
and then substituting variable-precision values into this expression
can be numerically unstable.

Find the value of the 500th-degree Chebyshev polynomial of the
first kind at `1/3`

and `vpa(1/3)`

.
Floating-point evaluation is numerically stable.

chebyshevT(500, 1/3) chebyshevT(500, vpa(1/3))

ans = 0.9631 ans = 0.963114126817085233778571286718

Now, find the symbolic polynomial ```
T500 = chebyshevT(500,
x)
```

, and substitute `x = vpa(1/3)`

into
the result. This approach is numerically unstable.

syms x T500 = chebyshevT(500, x); subs(T500, x, vpa(1/3))

ans = -3293905791337500897482813472768.0

Approximate the polynomial coefficients by using `vpa`

,
and then substitute `x = sym(1/3)`

into the result.
This approach is also numerically unstable.

subs(vpa(T500), x, sym(1/3))

ans = 1202292431349342132757038366720.0

Plot the first five Chebyshev polynomials of the first kind.

syms x y fplot(chebyshevT(0:4,x)) axis([-1.5 1.5 -2 2]) grid on ylabel('T_n(x)') legend('T_0(x)','T_1(x)','T_2(x)','T_3(x)','T_4(x)','Location','Best') title('Chebyshev polynomials of the first kind')

`chebyshevT`

returns floating-point results for numeric arguments that are not symbolic objects.`chebyshevT`

acts element-wise on nonscalar inputs.At least one input argument must be a scalar or both arguments must be vectors or matrices of the same size. If one input argument is a scalar and the other one is a vector or a matrix, then

`chebyshevT`

expands the scalar into a vector or matrix of the same size as the other argument with all elements equal to that scalar.

[1] Hochstrasser, U. W.
“Orthogonal Polynomials.” *Handbook of Mathematical Functions
with Formulas, Graphs, and Mathematical Tables.* (M. Abramowitz
and I. A. Stegun, eds.). New York: Dover, 1972.

`chebyshevU`

| `gegenbauerC`

| `hermiteH`

| `jacobiP`

| `laguerreL`

| `legendreP`