可木牛 发表于 2009-4-23 16:39

求助,如何自己编程实现矩阵相关函数的功能

大家帮我看看,自己编程如何实现矩阵相关(不用函数)我想实现两矩阵的相关(两个608*800大小的矩阵),用函数实现时计算时间很长,而实际上我要求相关的部分只是很少的一部分函数,也就是如果我自己实现的话,时间上会缩短很多
在help中xcorr2的原理如图
A =

   1   1   1   1   1
   1   2   3   1   1
   1   5   1   3   2
   1   1   3   4   1
B =

   2   3   1
   5   1   3
   1   3   4
c=xcorr2(A,B)

   4   7   8   8   8   4   1
   7    15    28    24    19    10   6
   8    34    42    42    43    20   9
   8    28    40    75    43    29    13
   4    12    33    36    35    33   9
   1   4   8    15    19    11   2
现将A扩充为(4+3-1,5+3-1)的矩阵,直接在后面补零
在将B的最后一个元素(3,3)与新生成的矩阵C(1,1)相关,存储在C(1,1),zaijiang B(3,2),B(3,3)与c(1,1),c(1,2)相关存储在 c(1,2).
一次后推,当B的(3,1)与C的(6,7)相关完成之后,实现,B(3,3),B(2,3)与C(1,1)C(2,1),相关,存储在C(2,1)位置,依次后推
下面是我实现的程序
A=[1,1,1,1,1;
    1,2,3,1,1;
    1,5,1,3,2;
    1,1,3,4,1]
B=[2,3,1;
    5,1,3;
    1,3,4]
=size(A)
=size(B)

%将搜索图补零 orm=zeros(r1+r2-1,c1+c2-1);m(1:r1,1:c1) = A;
A_new = padarray(A,,'post')

%计算相关
for i=1:r1+r2-1
    for j=1:c1+c2-1
   
                for k=(r2:-1:i)
                  for g=(c2:-1:j)
      C(i,j)=A_new(i,j)*conj(B(k,g));
                  end
                end
         
    end
end
C

这个程序出来之后的结果是错的
我不知道该怎么改,我觉得那几个for用的不对,请大家帮我看看

可木牛 发表于 2009-4-23 18:49

有人能指导一下吗?

tisang 发表于 2009-4-24 12:16

错误提示不贴出来,怎么找错啊
页: [1]
查看完整版本: 求助,如何自己编程实现矩阵相关函数的功能