MATLAB-向量的交集、并集、差集等集合运算

一、集合运算的函数如下:

  • intersect(A, B):集合交集,A和B均为向量
  • union(A, B) :集合并集
  • setdiff(A, B) :集合A减集合B的差集(如果集合A中的元素都在B中存在,则结果为空)
  • ismember(a, A) :判断是否是集合中的元素
  • sort(A):对向量进行排序
  • issorted(A):判断集合是否有序
  • setxor :集合异或(在并集但不在交集中的元素)
  • unique :返回集合的不重复元素(去掉相同元素)

二、举例如下:

A = [1,2,3,4,5,6];
B = [1,2,3,7,8,9];
C = [1,2,3,6,5,4,7,8,9];
D = [1,1,2,2,3,3]

intersect(A,B); % ans = [1,2,3]
union(A,B);     % ans = [1,2,3,4,5,6,7,8,9]
setdiff(A,B)    % ans = [4,5,6]
setdiff(A,C)    % ans = Empty matrix: 1-by-0
ismember(1,A);  % ans = 1
sort(C);        % ans = [1,2,3,4,5,6,7,8,9]
issorted(A);    % ans = 1
setxor(A,B);    % ans = [4,5,6,7,8,9]
unique(D);      % ans = [1,2,3]

对于多行多列矩阵 在函数中加入参数 rows

c1 = intersect(f, D, 'rows')

结果

image

posted @ 2022-05-22 21:21  司砚章  阅读(374)  评论(0编辑  收藏  举报