Multidimensional Discrete Cosine Transform (DCT)
The function is much faster than Matlab's native (dct, idct, dct2, idct2). It also allows N-D (multidimensional) input.
Example:
x=randn(100,200,300);
y=mirt_dctn(x); % forward DCT
x=mirt_idctn(y); % inverse DCT
Find more at my home page:
http://www.bme.ogi.edu/~myron
Enjoy and comment below if you like it!
Cite As
Andriy Myronenko (2026). Multidimensional Discrete Cosine Transform (DCT) (https://www.mathworks.com/matlabcentral/fileexchange/24050-multidimensional-discrete-cosine-transform-dct), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.5.0.0 | I have made it even faster by using only fft, without ifft, for both forward and inverse dct. |
||
| 1.4.0.0 | Corrected a bug with processing of 1D row vectors. Now it's as fast as with column vectors (and much faster then 1D Matlab's dct, idct) |
||
| 1.3.0.0 | added a screenshot of computational times of mirt_dctn and mirt_idctn vs Matlab's native (dct,idct,dct2,idct2). |
||
| 1.0.0.0 |
