有一组名称和一个矩阵(它的元素只有零和1) 矩阵的每一行都应根据其值分配给名称。
让我举一个例子:
数组是:
[1 0 0;
0 1 1;
1 1 1]
名称集合为:
Alex=[1 1 1], John=[1 0 0], Christine=[0 1 1]
功能输出应返回:
John, Christine, Alex
MATLAB中是否有以此模式搜索的功能?
答案 0 :(得分:3)
你的示例数据没什么意义,所以我会假设不同的东西。考虑
Arr = [1 0 0;
0 1 1;
1 1 1;
0 1 1];
Names = {'Alex';
'John';
'Christine'};
Key = [1 1 1;
1 0 0;
0 1 1]
然后您可以使用ismember
,如下所示:
idx = [~, idx] = ismember(Arr,Key,'rows');
Names(idx)
将返回
'John'
'Christine'
'Alex'
'Christine'