0

×k行列があり、参照1×kベクトルからnベクトルの平均距離を取得したい。norm(v(i, :) - test)ループ内で使用できますが、それを行うためforの最小限の解決策はありますか?

4

3 に答える 3

5

PDIST2 関数を使用できます。

mean(pdist2(X,test))

または、統計ツールボックスにアクセスできない場合:

mean(sqrt(sum(bsxfun(@minus, X, test).^2,2)))
于 2013-09-16T08:19:59.837 に答える
2

もう 1 つの可能性は、 を使用pdist2して 2 つの観測セット間の距離を計算することです。

d = pdist2( v, test );
mean( d )
于 2013-09-16T08:20:29.373 に答える
1

を使用してすべての距離を取得できます

d = bsxfun(@minus, v, test);
d = sqrt( sum( d.^2, 2 ) ); % distance of each vector from test
mean( d )
于 2013-09-16T08:18:52.773 に答える