我所拥有的是2列向量变量/文件,每个变量/文件都包含文本条目。假设一个是mx1而另一个是nx1(n> m)。第一个文件中的条目存在于第二个文件中,但可以多次。所以我想要第二个文件的所有索引,条目与第一个文件匹配。例如:
第一个文件包含[am pm cm dm]' 第二个文件包含[am am bm pm pm pm dm em cm]'
所以答案将以[1 2 4 5 6 7 9]'
的形式返回请帮忙。
OR
如果它可以使第三个文件只有[am am pm pm pm dm cm]等常用条目
答案 0 :(得分:3)
只需使用ismember
:
假设您的字符串包含在单元格数组:
中>> cell1 = {'am' 'pm' 'cm' 'dm'};
cell2 = {'am' 'am' 'bm' 'pm' 'pm' 'pm' 'dm' 'em' 'cm'};
find(ismember(cell2,cell1))
ans =
1
2
4
5
6
7
9
如果您的字符串都是等长的并且被定义为文本矩阵的行:
>> matrix1 = ['am';'pm';'cm';'dm'];
matrix2 = ['am';'am';'bm';'pm';'pm';'pm';'dm';'em';'cm'];
find(ismember(matrix2,matrix1,'rows'))
ans =
1
2
4
5
6
7
9