两个向量之间相交,但应具有相同的索引

时间:2015-04-15 02:47:32

标签: matlab

我试图获得两个向量之间的交集,但两个向量中的索引应该是相同的。例如: x = [1 2 3 4 5 6 7 80 9 100 11 12 103 14 150 16 170 18 20 19] y = [22 1 3 40 5 4 70 8 90 10 110 12 13 140 15 160 17 18 19 20] 该部分应仅为[3 5 12 18]。

我的代码:

x = [1  2 3  4  5 6 7  80 9  100 11  12 103 14  150 16  170 18 20 19];
y = [22 1 3  40 5 4 70 8  90 10  110 12 13  140 15  160 17  18 19 20];
inter = intersect(x,y);

1 个答案:

答案 0 :(得分:4)

逻辑索引很简单:

>> x = [1  2 3  4  5 6 7  80 9  100 11  12 103 14  150 16  170 18 20 19];
>> y = [22 1 3  40 5 4 70 8  90 10  110 12 13  140 15  160 17  18 19 20];
>> x(x==y)
ans =
     3     5    12    18
>> x(abs(x-y)<=3) %// or y(abs(x-y)<=3) for the y values instead of the x values
ans =
     2     3     5     6    12    18    20    19