0

マトリックスからゼロを除外して、「距離」マトリックスから最小数を見つけるコードを作成しようとしています。

distance=[0    0.44    0.40    0.63    0.89
0.44    0       0.44    0.72    1.00
0.40    0.44    0       0.28    0.56
0.63    0.72    0.28    0       0.28
0.89    1.00    0.56    0.28    0]

for  i=1:Nodes
    for  j=1:Nodes
        if (distance(i,j)~=0)

        [mini(i,:)]=[min(distance(i,:))];
        end
    end
end

どんな助けでも大歓迎です!ありがとうございました!

4

2 に答える 2

0

@ypnos が提供するベクトル化されたソリューションをお勧めしますが、ループを機能させる 1 つの方法を次に示します。

mini = inf(1,Nodes)
for  i=1:Nodes
    for  j=1:Nodes
        if (distance(i,j)~=0) %Consider using if i~=j if you want the distance to 'other' points
            mini(j)=min(distance(i,j),mini(j));
        end
    end
end
于 2013-07-16T09:06:01.480 に答える