如何找到连续点之间的距离

时间:2017-02-02 10:32:57

标签: matlab distance points

我有一个矩阵

A=[51.7365160000000 10.7978860000000;
   51.7366230000000 10.8319610000000;
   51.7389880000000 10.7849260000000;
   51.7424430000000 10.9195510000000;
   51.7443820000000 10.9157750000000;
   51.7448080000000 10.9160750000000;
   51.7523270000000 10.8756060000000;
   51.7525920000000 10.8758210000000;
   51.7526190000000 10.8738470000000;
   51.7526460000000 10.8763360000000;
   51.7528580000000 10.8477970000000;
   51.7530180000000 10.8776230000000];

A的第一列表示纬度,第二列表示经度,每行是不同的点。我想找到连续点之间的距离。我以这种方式使用了函数pdist

a = pdist(A,'euclidean')';

但是它给出了所有点之间的距离,而不仅仅是连续点之间的距离。

你能帮我解决问题吗?

由于

1 个答案:

答案 0 :(得分:4)

正如electron-rebuild -v 1.4.14 -e node_modules/electron-prebuilt -f的帮助所指出,您可以使用pdist来整理数据。

squareform

相邻点之间的距离则是该矩阵的子对角线。

b = squareform(a);

您也可以轻松手动计算距离

dist = diag(b,1)