如何找到连续点之间的距离
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)