如何找到向量中的最近点?

时间:2020-01-26 00:23:59

标签: matlab

我有一个71x4的表格,该表格代表:一些气候站的名称以及相应的纬度,经度和海拔。

在此列表中,我想一起找到最近的点。我的意思是在输出中,我想每拥有71个车站,就拥有一个最近的车站。我想使用欧几里得距离。 我在google drive

中分享了{ "key1":"value1", "key2":"value2" }

更新 这是我的代码。我认为,如果我可以在一个工作站上运行我的代码,然后使用for循环将其通用化,那就太棒了。我有一些站名以及相应的纬度,经度和海拔。我想找到最近的车站。实际上,对于每一行,我需要计算与所有其他行的距离,并选择距离最小的行。

coordinates.mat

我不知道如何优化它。每次我想去下一个车站时,都应该手动更改此代码,并查看坐标列表以找到最近车站的名称。 如您所见,我不是专业人士。我想在我的研究领域(水资源管理)中做到这一点,并且我并不专门研究Matlab代码。

1 个答案:

答案 0 :(得分:1)

最简单的方法是将knnsearch(...,'k',1)'K',1一起使用,因为您希望看到最近的点。但是,该功能需要统计和机器学习工具箱。否则,您将需要自己编写代码,循环遍历所有点并按照前面所述计算到所有其他点的距离。