MATLAB dct2/idct2与dctmtx

MATLAB dct2/idct2与dctmtx,matlab,dct,Matlab,Dct,在MATLAB中有两种计算DCT及其逆的替代方法。一个是dct2/idct2,另一个是由dctmtx计算的变换矩阵。为什么会有一种基于矩阵乘法的替代方法,利用dctmtx?“如果A是正方形,则A的二维DCT可以计算为D*A*D。这种计算有时比使用dct2快,尤其是在计算大量小DCT时,因为D只需确定一次。” 其中D=dctmtx(n) 来源:奇怪的是,这并不完全是真的。使用matlabdct2和D*I*D'方法得到的结果略有不同。

在MATLAB中有两种计算DCT及其逆的替代方法。一个是
dct2
/
idct2
,另一个是由
dctmtx
计算的变换矩阵。为什么会有一种基于矩阵乘法的替代方法,利用
dctmtx

“如果A是正方形,则A的二维DCT可以计算为D*A*D。这种计算有时比使用dct2快,尤其是在计算大量小DCT时,因为D只需确定一次。”

其中
D=dctmtx(n)


来源:

奇怪的是,这并不完全是真的。使用matlab
dct2
D*I*D'
方法得到的结果略有不同。