我是小白,请多指教
我是小白,请多指教
我是小白,请多指教
intersect 函数
用去求取两个矩阵或者向量之间的交集。
具体形式
- C = intersect(A, B);
- C = intersect(A, B, ‘rows’);
- [C, ia, ib] = intersect(A, B)
例子
C = intersect(A, B);
两个矩阵或者向量之间,在全局中寻找共有元素;无论A和B是向量还是矩阵,返货的C均为交集向量。矩阵A和B的大小可以不一致
>> A = randi(9, 3)A =5 7 66 3 27 7 2>> B = randi(9, 4)B =5 3 7 29 7 9 24 3 9 36 5 5 8>> C = intersect(A, B)C =23567
C = intersect(A, B, ‘rows’)
这种使用方式表示,以矩阵的每一行作为向量进行求取交集, 并返回A和A所共有的行。
与上述形式C = intersect(A, B)在求取的方式上有区别。矩阵A和B的列数必须一致。
>> A = randi(9, 3)A =3 9 38 4 63 2 5>> B = randi(9, 3)B =4 5 78 9 76 3 4>> C = intersect(A, B, 'rows')C =空矩阵: 0×3
[C, ia, ib] = intersect(A, B)
ia中存放的是交集矩阵C元素在A矩阵中的位置
ib中存放的是交集矩阵C元素在B矩阵中的位置
>> A = randi(9, 4)A =2 8 8 43 6 6 12 5 4 32 2 5 2>> B = randi(9, 4)B =2 9 4 83 9 9 44 5 4 31 5 2 4>> [C, ia, ib] = intersect(A, B)C =123458ia =14121175ib =4123713
探索篇
若想求取多个矩阵之间的交集,泽科进行多次利用intersect函数。
>> A = randi(9, 3)A =1 9 32 6 49 1 8>> B = randi(9, 3)B =1 6 51 7 52 6 3>> C = randi(9, 3)C =7 2 82 4 17 6 9>> D = intersect(A, intersect(B, C))D =126
本文链接:https://my.lmcjl.com/post/4911.html
展开阅读全文
4 评论