kulowuyu 发表于 2011-5-20 10:25

<求助>报错:MITMES,求大侠援助

程序:
functionb =blur(N,band,sigma)

X=imread('barbara(web)','jpg');
z = ;
T =sparse(1/sqrt(2*pi*sigma)* toeplitz(z));
%A = sparse(kron(T,T));
x=reshape(X,N^2,1);
%%compute kron(T,T)*x
b=zeros(N^2,1);
for i=1:N
    for j=max(1,i-band):min(N,i+band)
   b((i-1)*N+1:i*N)=b((i-1)*N+1:i*N)+T(i,j)*(T*x((j-1)*N+1:j*N));
    end
end

输入:blur(256,15,80) 运行,然后报错。。
??? Error using ==> mtimes
MTIMES is not fully supported for integer classes. At least one input must be scalar.

Error in ==> blur at 12
   b((i-1)*N+1:i*N)=b((i-1)*N+1:i*N)+T(i,j)*(T*x((j-1)*N+1:j*N));

Error in ==> cglsk at 9
b = blur(N,band,sigma);

本人超级小白,求大家帮下啊...

meiyongyuandeze 发表于 2011-5-21 08:40

mtimes矩阵乘法可能没用对吧,应该就是T(i,j)*(T*x((j-1)*N+1:j*N))这句吧!

wangyouyi 发表于 2011-5-21 09:28

b((i-1)*N+1:i*N)=b((i-1)*N+1:i*N)+T(i,j)*(T*x((j-1)*N+1:j*N));应该是这句有问题!
等式右边的j变化,而等式左边没有随j变化!

kulowuyu 发表于 2011-5-21 15:00

{:{23}:}{:{23}:}{:{23}:}谢谢楼上两位的热心回答,我去试试.

kulowuyu 发表于 2011-5-21 15:36

容我再弱弱的问下...怎么改...matlab苦手啊,这是毕业论文的一个程序,一直弄不对,导师又不指导,很苦恼,求热心人改一下{:{19}:}

meiyongyuandeze 发表于 2011-5-21 22:42

做毕设设计,指导老师也仅是对理论上面的一些问题给你写指导,但不会对一些具体的小问题进行指导的,不可能要求老师去给你修改程序的,还是要靠自己多多尝试。应该会解决的。
大学四年最能学到东西的时候就是自己动手完成毕业设计的过程。

你可以自己将数组的维数取得简单一些,自己看些这些矩阵能不能实现你的程序里面的语句!

ChaChing 发表于 2011-5-22 12:12

1.毕设期间, 相信这些求结果的帖会比较多
2.若是想学习的话, 时间应不成问题
3.真有一些环节问题, 一定会有人出手相助
4.问题需聪明的问(看下老帖), 不然可以出手的人会变少
页: [1]
查看完整版本: <求助>报错:MITMES,求大侠援助