首页 文章

对于阵列2的每一行,在阵列1的一行之间计算的距离然后移动到阵列1的下一行并重复

提问于
浏览
0

我试图找出两个位置列表之间的距离(lat,long) . 我将它们全部存储在单独的数组lat1,lon1,lat2,lon2中 . 第一组是我正在阅读的gps系统,第二组是参考 . 他们都有超过1000行 .

我想做的是 . 为lat2,lon2的所有点计算lat1,lon1之间的距离然后移动到lat1的第2行,lon1再次计算lat2,lon2的所有行并保持重复 .

因此,应对lat2,lon2的每个点执行lat1,lon1的每个计算 .

我必须最终根据输出距离<4来做出决定

请有人帮忙解决这个问题 . 真的很感激这一点 .

1 回答

  • 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
    

相关问题