-1

我有以下格式的数据集:

UID     Lat    Long   LocID

u1      lt1    lg1    l1

u1      lt2    lg2    l2

u1      lt3    lg3    l3

u2      lt4    lg4    l4

u3      lt1    lg1    l1

u3      lt4    lg4    l4

从这里我需要生成一个 LocID-LocID 无向图。为此,我需要以下格式的加权矩阵。

    0           d(l1,l2)        0           0

  d(l2,1)          0         d(l2,l3)    d(l2,l4)

    0           d(l3,l2)        0           0

  d(l4,l1)      d(l4,l2)        0           0 

由于用户 u1 存在于位置 l1、l2 和 l3,因此我将它们视为图中的可见边。因此,存在从 l1 -> l2 和 l2-> l3 的边缘。从给定的示例中,存在 4 条边。

l1 -> l2 ; l2->l3 [For user u1]
l2->l4 [For user u2]
l1 -> l4 [For user u3]

这里两个 LocID 之间的每条边的权重是根据给定的纬度和经度信息计算的。比如,d(l1,l2) = LocID-1 和 LocID-1 之间的距离 = (lt1,lg1) 和 (lt2,lg2) 之间的距离

距离计算可以通过使用半正弦公式来完成。所以,这不是问题。我需要在 matlab 中执行此任务。谁能帮帮我....提前谢谢....

4

1 回答 1

0

您可能正在pdist统计工具箱中寻找该函数。

它计算具有不同距离度量的点之间的距离,也允许自定义函数(作为句柄)。

于 2014-03-12T14:30:36.280 回答