-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 

user-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]

ここで、2 つの LocID 間の各エッジの重みは、指定された緯度と経度の情報から計算されます。同様に、d(l1,l2) = LocID-1 と LocID-1 の間の距離 = (lt1,lg1) と (lt2,lg2) の間の距離

距離計算は、harsine 式を使用して実行できます。だから、それは問題ではありません。このタスクを matlab で実行する必要があります。誰でも私を助けてくれませんか....よろしくお願いします....

4

1 に答える 1