Problem 930. 1D DCT-II transform.
Implement a function that calculates 1D Discrete Cosine Transform (DCT-II) for each row of a given input matrix so that the outputs are in columns.
For example:
Input:
[1 0 0 0]
Gives:
mydct([1 0 0 0])
ans =
          0.5
      0.65328
          0.5
       0.2706
			Solution Stats
Problem Comments
- 
		1 Comment
A fair warning to the challenger: the requested DCT-II is the orthogonal version, which means it needs to be multiplied by sqrt(2/N) where N is the size of the row, and the first element of the DCT x0 needs to be multiplied by 1/sqrt(2). It took me a while to understand. Wikipedia's formula is almost right, but it is missing those terms, which are mentioned only further below. Look at MATLAB's documentation (DCT-2), https://www.mathworks.com/help/signal/ref/dct.html, to find the proper formula.
Solution Comments
Show commentsProblem Recent Solvers19
Suggested Problems
- 
         
         110380 Solvers 
- 
         given 3 sides, find area of this triangle 811 Solvers 
- 
         Create a function handle that reverses the input arguments of another function handle 155 Solvers 
- 
         Find best placement for ordered dominoes (harder) 332 Solvers 
- 
         
         1665 Solvers 
More from this Author4
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!