如何从数组(k,2)创建有序对的数组(k,1)?

时间:2016-11-27 16:38:49

标签: arrays matlab

例如我有: [1 3; 2 4; 2 5; 3 3] 并希望: [(1,3);(2,4);(2,5);(3,3)]

我实际上需要取两个数组(k,2)并计算有多少对是相同的。 例如,如果我有: A = [1 3; 2 4; 2 5; 3 5]和B = [2 3; 2 1; 2 4; 3 5] 我希望答案是2。 由于作为一组(每4个有序对), A和B的交集包含两个元素。

谢谢!

1 个答案:

答案 0 :(得分:2)

要知道A的行数与B的行重合,请'rows'选项使用ismember

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

例如:

>> A = [1 3; 2 4; 2 5; 3 5];
>> B = [2 3; 2 1; 2 4; 3 5];
>> sum(ismember(A, B, 'rows'))
ans =
     2