1

好的,我有以下 FOR 结构:

Ny = 246;
Nx = 190;


for n1y = 1:Ny
 for n1x = 1:Nx

  for n2y = 1:Ny
   for n2x = 1:Nx

   n1 = 
   n2 = 

   dx12 = xax(n1x) - xax(n2x);  
   dy12 = xay(n1y) - xay(n2y);
    r12 = sqrt(dx12^2+dy12^2); 

    B(n1,n2) = 0.8 * exp((-1/2)*(r12/300));

   end
  end

 end
end  

其中,xax 是长度为 190 的向量,xay 是长度为 246 的向量。

我的疑问是,我如何确定 n1 和 n2 以使 B 成为 (Nx*Ny , Nx*Ny) 矩阵?

Ps.:抱歉语言错误,我的母语不是英语。

谢谢。

4

1 回答 1

1

大概是这样的

n1 = (n1x - 1) * Ny + n1y;
n2 = (n2x - 1) * Ny + n2y;

或与所有xy部分交换的相同。

但似乎您正在构建一个B大小为 (246*190)^2*8 / 1e9 = 17 GB 的巨大矩阵!这真的是你想要的吗?

于 2013-10-16T16:55:07.517 回答