我有一個數據集有四列[X Y Z C]。我想找出以[X,Y,Z]爲中心,半徑爲r的給定球體中的所有C值。解決這個問題的最佳方法是什麼?我應該使用clusterdata命令嗎?基於Matlab中查詢點的距離選擇數據
0
A
回答
2
下面是用天真的歐氏距離一個解決辦法:
說V = [X Y Z C]
是你的數據集,Center = [x,y,z]
是球體的中心,然後
dist = bsxfun(@minus,V(:,1:3),Center); % // finds the distance vectors
% // between the points and the center
dist = sum(dist.^2,2); % // evaluate the squares of the euclidean distances (scalars)
idx = (dist < r^2); % // Find the indexes of the matching points
好C
值
good = V(idx,4); % // here I kept just the C column
0
這不是「聚類分析」:你不要試圖發現結構在您的數據。
相反,您在做什麼,通常稱爲「範圍查詢」或「半徑查詢」。在經典的數據庫術語中,帶有距離選擇器的SELECT
。
您可能想要使用歐幾里德距離定義您的球體。出於計算目的,它實際上是有益的,而不是平方歐幾里得,通過簡單地取你的半徑的平方。
我沒有使用matlab,但必須有大量的例子來說明如何從查詢點計算數據集中每個實例的距離,然後選擇距離足夠小的對象。
我不知道是否有什麼好的索引結構包的for Matlab。但總的來說,在3D中,這可以通過索引結構加速。計算所有距離爲O(n)
,但只有索引結構O(log n)
。
相關問題
- 1. 更改3D Matlab上數據點的顏色基於原點距離的繪圖
- 2. 基於距離的SQL平均數據
- 3. 查詢距離
- 4. JS - 基於距離
- 5. 選擇特定距離內的點
- 6. 從nearSphere返回距離查詢點的距離
- 7. 計算matlab中點之間的距離
- 8. Matlab中兩點之間的距離
- 9. 基於matlab中的分佈選擇數據
- 10. Sqlite:選擇基於距離的項目(經度和緯度)
- 11. 如何頁面選擇基於其數據的查詢結果
- 12. SQL選擇不檢索基於查詢的數據
- 13. MySQL查詢不選擇基於WHERE值的數據
- 14. 選擇了距離
- 15. 基於條件的選擇SQL查詢
- 16. 基於下拉選擇的SQL查詢
- 17. Mysql的選擇基於從查詢
- 18. 新「Cloud Firestore」能夠查詢基於位置的距離嗎?
- 19. 基於lng和lat實現半空間距離查詢
- 20. 如何基於非選擇查詢
- 21. PLSQL觸發 - 基於選擇查詢
- 22. Linq查詢,選擇基於屬性值
- 23. 基於哪裏條件選擇查詢
- 24. 查找matlab中沿弧距離點的位置
- 25. 顏色基於距離
- 26. 如何創建基於距離點的距離的縮放效果
- 27. Matlab選擇基於矩陣值的值
- 28. 基於距離的ios中特定點的推送通知
- 29. 基於主要查詢的嵌套查詢選擇
- 30. 草垛「距離」查詢中的距離格式
這工作!謝謝Acorbe。 – Cerberus