matlab中矩阵求交集函数intersect+例子+实例

我是小白,请多指教
我是小白,请多指教
我是小白,请多指教

intersect 函数

用去求取两个矩阵或者向量之间的交集。

具体形式

  1. C = intersect(A, B);
  2. C = intersect(A, B, ‘rows’);
  3. [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 评论

留下您的评论.