필터 지우기
필터 지우기

Is there a function in MATLAB to calculate higher DCTs like DCT-III, IV etc?

조회 수: 2 (최근 30일)
I have started learning DCT recently. I know the function dct() and dct2() are used to calculated 1-D and 2-D DCT-II repectively. Is there any function that is used to calculate the DCT-III or DCT-IV? idct() is based on DCT-III but it is not going forward into DCT domain.

채택된 답변

Matt J
Matt J 2022년 10월 13일

추가 답변 (1개)

Matt J
Matt J 2022년 10월 13일
편집: Matt J 2022년 10월 13일
I don't think so, but you can always build one from fft().
function Y=dctn(X)
d=size(X);
n=numel(d);
subs0=repmat({':'},1,n);
Y=X;
for i=1:n
subs=subs0;
subs{i}=1:d(i);
Y=fft( cat(i,Y,flip(Y,i)) ,[],i);
Y=real(Y(subs{:});
end
end

카테고리

Help CenterFile Exchange에서 Transforms에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by