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

how to find distance between consecutive 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')';

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

你能帮我解决这个问题吗?

谢谢

正如pdist的帮助中指出的,您可以使用squareform来组织数据。

b = squareform(a);

相邻点之间的距离就是这个矩阵的次对角线。

dist = diag(b,1) 

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

dist = sqrt(diff(A(:,1)).^2+diff(A(:,2)).^2)