m=dct(IM(x,y)) 这里是函数定义,不能带有函数,因为他认为IM(x,y)是一个函数调用,这是不可以的.我猜你想把矩阵IM作为参数进来.可以直接用:function m=dct(IM)调用:m=dct(IM)直于那个x,y是你的中心,你可以在这个函数里定义,如果还要求能求其他的点,就用楼上说的那个方法,带上下标的:function m=dct(IM,x,y) .另外,你的还有问题就是t=t+(c(k,(x-i),(y-j))-u(k,x,y))*(c(k,(x-i),(y-j))-u(k,x,y)); 这些会造成越界了,因为例如: x=2,i=8,x-i=-6;就没有办法访问了.记住一点:MATLAB的数组下标
|