Is there a function in MATLAB to calculate higher DCTs like DCT-III, IV etc?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have started learning DCT recently. I know the function dct() and dct2() are used to calculated 1-D and 2-D DCT-II repectively. Is there any function that is used to calculate the DCT-III or DCT-IV? idct() is based on DCT-III but it is not going forward into DCT domain.
0 commentaires
Réponse acceptée
Plus de réponses (1)
Matt J
le 13 Oct 2022
Modifié(e) : Matt J
le 13 Oct 2022
I don't think so, but you can always build one from fft().
function Y=dctn(X)
d=size(X);
n=numel(d);
subs0=repmat({':'},1,n);
Y=X;
for i=1:n
subs=subs0;
subs{i}=1:d(i);
Y=fft( cat(i,Y,flip(Y,i)) ,[],i);
Y=real(Y(subs{:});
end
end
0 commentaires
Voir également
Catégories
En savoir plus sur Discrete Fourier and Cosine Transforms dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!