我有一个n x 1向量V和一个n x d矩阵M.我知道V等于M的一列。我怎样才能找到对应于V的M的索引?我已经尝试了ismember
和find
,但我想不出解决方案。
答案 0 :(得分:3)
ismember
允许在nxd矩阵中查找1-by-d向量。我们需要做的就是使它适用于您的问题是转置数组:
[~, columnIdx] = ismember( nByOneVector.', nByDMatrix.', 'rows');
答案 1 :(得分:2)
ismember
的替代方法正在使用bsxfun
:
find(all(bsxfun(@eq, V, M)))
此处bsxfun
将@eq
操作(即==
)应用于V
以及M
的每一列。然后,我们使用all
确保整个列匹配,最后find
将逻辑向量转换为列索引。