我想实现 DCT-2,dctmtx:
function [ C ] = dct_mtx( N )
for k = 0:N-1
for n = 0:N-1
tmp(k+1,n+1) = cos((0.5+N)*k*pi/N);
end
end
tmp(1,:) = tmp(1,:) / sqrt(2);
C = tmp;
end
如果我调用该函数C = dct_mtx(3);并检查矩阵C'*C = I并且不是身份而是几乎。
我必须在代码中更改什么才能最终获得身份?
身份看起来像这样:
1.50000000000000 -1.66533453693773e-16 -1.11022302462516e-16
-1.66533453693773e-16 1.50000000000000 -2.77555756156289e-16
-1.11022302462516e-16 -2.77555756156289e-16 1.50000000000000