行列 [mxn] とベクトル [m] があり、各行を対応するベクトル番号と比較したいのですが、このベクトル化された方法を実行する方法はありますか?
質問する
179 次
2 に答える
6
使用bsxfun
:
% example data
M = rand(5, 3);
V = rand(5,1);
% for equality (==) :
bsxfun(@eq, V, M);
% for greater-than (>) :
bsxfun(@gt, V, M);
% for greater-than-or-equals (>=) :
bsxfun(@ge, V, M);
など。利用可能な機能のリストは に記載されていhelp bsxfun
ます。
于 2012-11-27T10:48:45.760 に答える
0
まず第一に、受け入れ率に注意してください:)
intersect
ベクトルメンバーがマトリックスにあるかどうかを比較する関数を試すことができます。次に、それらのメンバーを新しいベクターに保存してください。
x = [mxn]
y = [m]
z=intersect(x,y)
例えば
x = [1,2,3,4,5,]
y = [5,6,2]
z = intersect(x,y)
結果として
z = [2,5]
改善された答えは次のとおりです。
[z,ix,iy] = intersect(x,y)
ここで、ix, iy は、X に存在する y 要素の行インデックスを示します。
于 2012-11-27T10:19:35.970 に答える