所以说我有两个数组:

    A:14 63 13
      38 44 23
      11 12 13
      38 44 23

    B:38 44 23


我正在尝试使用ismember返回在B中找到A的每个位置的索引。我在网上找到的所有示例仅列出匹配的第一个或最后一个匹配项,我试图为所有匹配的值(甚至重复的值)列出索引。谢谢

最佳答案

ismember'rows'搭配使用:

ismember(A, B, 'rows')


这会导致逻辑数组[0 1 0 1]通常比索引数组要好,但是如果要特别指定索引,则只需使用find

find(ismember(A,B,'rows'))


返回[2,4]

请注意,如果B具有多行(例如, B = [38 44 23; 11 12 13],它将返回[0; 1; 1; 1]

关于matlab - 使用ismember列出所有索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29621018/

10-11 03:31