我正在尝试找出 4x4 棋盘矩阵的 DCT(我们称之为 A)和一个矩阵(我们称之为 B)的正确解决方案。所以 A 是:
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
B 是:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
使用 Octave fordct(A)我得到:
1.00000 1.00000 1.00000 1.00000
-0.38268 0.38268 -0.38268 0.38268
0.00000 0.00000 0.00000 0.00000
-0.92388 0.92388 -0.92388 0.92388
对于dctmtx(4) * A * transpose(dctmtx(4))(应该是等价的)我得到:
2.00000 0.00000 -0.00000 -0.00000
0.00000 -0.29289 -0.00000 -0.70711
-0.00000 -0.00000 0.00000 -0.00000
-0.00000 -0.70711 -0.00000 -1.70711
然后dct(B):
2 2 2 2
0 0 0 0
0 0 0 0
0 0 0 0
并且dctmtx(4) * B * transpose(dctmtx(4)):
4 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
这是怎么回事?哪个是对的?