3

以前に作成したユークリッド距離行列から隣接行列を作成する方法を知りたかったのです。例えば ​​:

 Edm =  [0       7.7466  7.7534  0       3.7296  2.8171;
         7.7466  0       0.0068  7.7466  4.0170  4.9295;
         7.7534  0.0068  0       7.7534  4.0239  4.9364;
         0       7.7466  7.7534  0       3.7296  2.8171;
         3.7296  4.0170  4.0239  3.7296  0       0.9125;
         2.8171  4.9295  4.9364  2.8171  0.9125  0     ]

Edm相互間のユークリッド距離に基づいて接続性ノード 1 ~ 6 を示します。同じノードからの距離がゼロであるため、対角線は 0 でなければなりません。

上から2つの最近傍を持つ隣接行列を取得する方法はありEdmますか?

4

2 に答える 2

0

対角線を に設定し、各列の要素をその列の最小値と比較するためにInf使用します。bsxfun

E = Edm + diag(Inf(1,size(Edm,1)));
A = bsxfun(@eq, E, min(E));
于 2013-10-13T17:46:11.043 に答える