Olarak uygulanan matematik , ayrık Chebyshev dönüşümü (DCT) adını, Pafnutiy Çebışov ya DCT ler iki ana türe ait Ayrık Chebyshev arasında 'Köklerin ızgara üzerinde dönüşümü Chebyshev polinomları birinci türden ve ayrık Chebyshev ile transforme birinci türden Chebyshev polinomlarının 'ekstrema' ızgarası.
U (x) 'un noktalardaki ayrık chebyshev dönüşümü şu şekilde verilir:
nerede:
nerede ve başka türlü.
Tanımını kullanarak ,
ve ters dönüşümü:
(Bu, kök ızgarasında değerlendirilen standart Chebyshev serisinde de olur.)
Bu, girdi argümanlarının ayrık bir kosinüs dönüşümüne dönüştürülmesiyle kolayca elde edilebilir.
Bu, aşağıdaki MATLAB kodu kullanılarak gösterilebilir :
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
Ayrık kosinüs dönüşümü (dct) aslında MATLAB'da hızlı bir Fourier dönüşüm algoritması kullanılarak hesaplanır.
Ve ters dönüşüm MATLAB koduyla verilir:
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
Ekstrema ızgarasında ayrık Chebyshev dönüşümü
Bu dönüşüm ızgarayı kullanır:
Bu dönüşümün, Hızlı Fourier Dönüşümü (FFT) kullanılarak uygulanması daha zordur. Bununla birlikte, sınır değeri problemleri için en yararlı olma eğiliminde olan ekstrem şebeke üzerinde olduğu için daha yaygın olarak kullanılmaktadır. Çoğunlukla, bu ızgaraya sınır koşullarını uygulamak daha kolay olduğu için.
Greg von Winckel tarafından oluşturulan MATLAB dosya değişiminde bir ayrık (ve aslında hızlı bir Fourier dönüşümü kullanarak dct gerçekleştirdiği için hızlı) mevcuttur. Yani burada atlanmıştır.
Bu durumda dönüşüm ve tersi
nerede ve başka türlü.
Kullanım ve uygulamalar
Ayrık Chebyshev dönüşümünün birincil kullanımları sayısal entegrasyon, enterpolasyon ve kararlı sayısal farklılaşmadır. Bu özellikleri sağlayan bir uygulama, C ++ kitaplığı Boost'ta
verilmiştir.