2012-10-26 36 views
2

我得到了一个5 * 5的MATRICE。 我想找到与我的网格的一个固定点的最小距离相对应的(i,j)的最小值。min(x,y)对值的mattr matrice索引

我用: MATRICE(find(MATRICE(1,:))== min(MATRICE(1,:)),:) 和:

[minVal, minInd] = min(MATRICE(:,1)); 
MATRICE(minInd,1); 
[~,MATRICE_2] = min(MATRICE(:,:)); 

disp(MATRICE_2)让我的矩阵的计算方法的正确row(i)column(j)都不会显示。

+1

我不清楚你在做什么。你能否给出一些更清晰的输入和期望输出的例子? –

+0

我有一个由meshgrid'x,y = meshgrid(1:1:5)'配置的轴点上有固定点的网格。进入网格随机用户生成并均匀分布。用欧氏公式测量固定点的距离和随机用户的距离。也测量固定点和随机用户之间的距离,结果形成MATRICE。所以这个MATRICE由5 * 5个坐标距离矢量组成。现在为了将每个随机用户与其最近的固定点相关联,我希望在每个模拟迭代 – professor

+0

中找到MATRICE的min x,y,感谢您的更新,听起来像angainor的答案是您所需要的。 –

回答

1

我不知道如果我理解正确的,但如果你想找到你的阵列中最小条目的(row,col)指数,你可以使用这个

[i,j] = ind2sub(size(MATRICE), find(MATRICE==min(MATRICE(:)))) 

其中A是你的矩阵。这可以通过将您的矩阵更改为25个元素的向量,查找最小值的位置,并使用ind2sub将该位置转换为(row,col)对。

你写的东西在你的矩阵的每一列中都找到最小值。因此,MATRICE_2中的每个i条目显示i列中的最小值的行索引。换句话说,列和行索引是

cols = 1:numel(MATRICE_2); 
rows = MATRICE_2; 
0

行我弄明白:

[MinValue, MinIndex] = min(MATRICE(:)); 
MinSub =ind2sub(size(MATRICE), MinIndex); 

MINVALUE是矩阵的计算和MinIndex它的索引的最小值加上直接指向固定点。