В прикладной математике , то дискретное преобразование Чебышева (DCT) , названный в честь Чебышёв , является одним из двух основных разновидностей ДКП: дискретное преобразование Чебышева на сетке «корней» из многочленов Чебышева первого рода и дискретного Чебышева преобразование сетка «экстремумов» полиномов Чебышева первого рода.
Дискретное преобразование Чебышева на сетке корней
Дискретное преобразование Чебышева функции u (x) в точках задается выражением:
где:
где и иначе.
Используя определение ,
и его обратное преобразование:
(Так происходит со стандартным рядом Чебышева, вычисленным на сетке корней.)
Это легко получить, преобразовав входные аргументы в дискретное косинусное преобразование.
Это можно продемонстрировать с помощью следующего кода MATLAB :
functiona=fct(f,l)% x =-cos(pi/N*((0:N-1)'+1/2));f=f(end:-1:1,:);A=size(f);N=A(1);if exist('A(3)','var') && A(3)~=1 for i=1:A(3)a(:,:,i)=sqrt(2/N)*dct(f(:,:,i));a(1,:,i)=a(1,:,i)/sqrt(2); endelsea=sqrt(2/N)*dct(f(:,:,i));a(1,:)=a(1,:)/sqrt(2);end
Дискретное косинусное преобразование (dct) фактически вычисляется с использованием алгоритма быстрого преобразования Фурье в MATLAB.
И обратное преобразование дается кодом MATLAB:
functionf=ifct(a,l)% x = -cos(pi/N*((0:N-1)'+1/2)) k=size(a);N=k(1);a=idct(sqrt(N/2)*[a(1,:)*sqrt(2);a(2:end,:)]);end
Дискретное преобразование Чебышева на сетке экстремумов
Это преобразование использует сетку:
Это преобразование сложнее реализовать с помощью быстрого преобразования Фурье (БПФ). Однако он более широко используется, потому что он находится на сетке экстремумов, которая имеет тенденцию быть наиболее полезной для краевых задач. В основном потому, что к этой сетке проще применить граничные условия.
Существует дискретный (и на самом деле быстрый, потому что он выполняет dct с использованием быстрого преобразования Фурье), доступный при обмене файлами MATLAB, который был создан Грегом фон Винкелем. Поэтому здесь это опущено.
В этом случае преобразование и его обратное
где и иначе.
Использование и реализации
Основное использование дискретного преобразования Чебышева - численное интегрирование, интерполяция и устойчивое численное дифференцирование. Реализация, которая предоставляет эти функции, представлена в библиотеке C ++ Boost.