2012-10-26 33 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它的索引的最小值加上直接指向固定點。