Main Content

Chebyshev polynomials of the first kind

`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`