fcht(V) computes the Chebyshev transform of a N+1 by 1 array V. If V corresponds to a function evaluated at the Chebyshev–Gauss–Lobatto points cos(pi*(0:N)/N), then V is interpolated by a linear combinations of the Chebyshev polynomials with weights given by fcht(V).
Approximate f(x) = exp(x) over [-1,1] as a linear combination of the first three Chebyshev polynomials.
x = cos(pi*(0:2)/2); % establish 3 Chebyshev grid points
V = exp(x); % evaluate f(x) at Chebyshev grid points
a = fcht(V);
xx = linspace(-1,1); % create dense grid over domain
g = a(1)*1 + a(2)*xx + a(3)*(2*xx.^2 - 1); % sum the first three Chebyshev
% polynomials with respect to their corresponding weights
plot(xx,exp(xx),xx,g); % visualize the approximation
Matt (2023). Fast Chebyshev transform (https://www.mathworks.com/matlabcentral/fileexchange/44030-fast-chebyshev-transform), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!