2016-01-13 75 views
1

我有一些值,我已隨機生成和歸因於一些x,y座標。但是,我想提取三個最高值的座標(x,y),並將它們顯示爲3乘2矩陣。如何顯示一些參考值的x,y座標

x = [1 1 10 10]; 
y = [1 10 1 10]; 

rand_val (1,:) = [randi([5,10],1),randi([5,10],1),randi([5,10],1),randi([5,10],1)]; 
z = rand_val 
out = zeros(10); 
out(sub2ind(size(out),x,y)) = z 
+0

您可以取代第3和第4行以Z =蘭迪([5,10],1,4)',沒有解決你的問題,但絕對簡化了代碼。 – Daniel

+1

您的示例與問題的關係不太清楚。 * what *的三個最高值? – excaza

回答

2

按降序排列,然後得到最大的三個要素的位置,然後將其轉換線性指數下標的指數:

[~,ix]=sort(out(:),'descend') 
[x2,y2]=ind2sub(size(out),ix(1:3)) 
+0

謝謝丹尼爾! – Kola