我试图找出两个位置列表之间的距离(lat,long)。 我将它们全部存储在单独的数组lat1,lon1,lat2,lon2中。第一组是我正在阅读的gps系统,第二组是参考。它们都有超过1000行。
我想做的是。 计算lat2,lon2的所有点的lat1,lon1之间的距离 然后移动到lat1的第2行,lon1再次计算lat2,lon2的所有行 并继续重复。
因此,应对lat2,lon2的每个点执行lat1,lon1的每个计算。
我必须最终根据输出距离<4
做出决定请有人帮忙解决这个问题。真的很感激。
答案 0 :(得分:1)
希望您拥有统计工具箱,因为这样您就可以使用pdist2
:
pdist2([lat1, lon1], [lat2, lon2])
如果您没有统计工具箱:
%// Simple example data
a = [0, 0; 0, 1; 1, 1];
b = [0, 0; 0, 1; 1, 1];
n = size(a,1);
[X, Y] = ndgrid(1:n,1:n)
dist = sqrt(sum((a(X(:),:) - b(Y(:),:)).^ 2, 2))
reshape(dist, n, n)
结果(正确)在:
ans =
0.00000 1.00000 1.41421
1.00000 0.00000 1.00000
1.41421 1.00000 0.00000