我在Matlab中有两个矩阵:
q = [3 4 5];
w = [5 6 7];
我想将q
的每个元素与w
进行比较(即3与5,6和7比较)。如果它与w
中的任何元素匹配(例如q
和w
中的5),则q
和w
共享5作为公共密钥。
如何计算q
和w
的所有常用密钥?
答案 0 :(得分:3)
尝试
>> x = intersect(q,w)
x =
5
此函数将输入向量视为集合并返回集合交集。我想这就是你想知道的。有匹配是/否?如果x为空(numel(x)== 0)则没有匹配。
答案 1 :(得分:3)
q = [3 4 5];
w = [5 6 7];
%# @sellibitze
intersect(q,w)
%# @Loren
q( ismember(q,w) )
%# Me :)
q( any(bsxfun(@eq, q, w'),1) )
答案 2 :(得分:2)
[Q W] = meshgrid(q, w)
% Q =
% 3 4 5
% 3 4 5
% 3 4 5
% W =
% 5 5 5
% 6 6 6
% 7 7 7
Q == W
% ans =
% 0 0 1
% 0 0 0
% 0 0 0
答案 3 :(得分:2)
如果您需要有关比赛的更多信息,请查看ismember,特别是第二和第三输出论据。