2017-02-22 85 views
0

下圖是一些(x,y)座標的圖。可以看出,數據大致分爲彼此接近的x座標的一些「組」。還可以看出,連續組之間的距離是變化的。將彼此靠近的座標分組

我想獲得每個「組」的x座標的索引,然後我可以使用它來「選擇」關聯的y座標。

到目前爲止,我已經試過:

[uniqueValues, ~, uniqueIdx] = uniquetol(x_coordinates,tol); 
indices_group1 = find(uniqueIdx == 1); 
x_group1 = x_coordinates(indicesGroup1); 
y_group1 = y_coordinates(indicesGroup1); 

這在一定程度我想要做什麼;但由於各組之間的距離不同,所以效果不佳。 關於如何解決這個問題的任何想法?

enter image description here

+0

我不明白如何變化的距離有這個代碼的效果。你能解釋一下嗎? –

+0

@AnderBiguri也許OP找不到一個效果很好的「tol」...? –

+0

@ Dev-iL的權利,這是有道理的。我不知道如何自動選擇它,但我的猜測是'tol = 0.005'可以完成這項工作。 –

回答

0

一種選擇是使用聚類算法如DBScan。這應該將每個點的「行」分類爲單個集羣,然後您可以獲取每個集羣的y座標。