如何在矩阵中找到内容等于向量

时间:2015-05-21 11:44:57

标签: matlab

我有一个n x 1向量V和一个n x d矩阵M.我知道V等于M的一列。我怎样才能找到对应于V的M的索引?我已经尝试了ismemberfind,但我想不出解决方案。

2 个答案:

答案 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将逻辑向量转换为列索引。