我在Octave中编写的DCT函数有时会返回未定义的值

时间:2019-06-15 20:08:39

标签: matlab octave dct

我要拍摄一张8x8的灰度图像,我必须使用matlab或倍频程对其应用2D-DCT。我编写了一个简单的1D-DCT函数,计划仅应用两次以获得答案,但是当我尝试运行该函数时,我得到的值未定义。

我尝试重置变量,并查看了我的教科书中涉及DCT的代码和章节,但找不到我做错的事情。

function C=dct(xb, n)
   for i=1:n
      for j=1:n
        xb(i,j)=cos((i-1)*(2*j-1)*pi/(2*n));
      endfor
   endfor
 xb=sqrt(2/n)*xb;
 xb(1,:)=xb(1,:)/sqrt(2);
endfunction

我期望得到输入的矢量的DCT的8x8数组,但是我却得到了

  
    

xb = dct(xb,8)     警告:dct:返回值列表中的某些元素未定义     警告:来自         dct第9行第9列     xb =

  

0 个答案:

没有答案