我有以下格式的数据集:
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 中执行此任务。谁能帮帮我....提前谢谢....