MATLAB - 集合运算
MATLAB 提供了各种集合运算函数,例如并集、交集和集合成员资格测试等。
下表显示了一些常用的集合运算 −
序号 | 函数 & 描述 |
---|---|
1 | intersect(A,B) 设置两个数组的交集; 返回 A 和 B 共有的值。返回的值按排序顺序排列。 |
2 | intersect(A,B,'rows') 将 A 的每一行和 B 的每一行视为单个实体,并返回 A 和 B 共有的行。返回矩阵的行按排序顺序排列。 |
3 | ismember(A,B) 返回一个与 A 大小相同的数组,如果 A 的元素在 B 中找到,则包含 1 (true)。否则,它返回 0 (false)。 |
4 | ismember(A,B,'rows') 将 A 的每一行和 B 的每一行视为单个实体,并返回一个包含 1 (true) 的向量,其中矩阵 A 的行也是 B 的行。在其他情况下,它返回 0 (false)。 |
5 | issorted(A) 如果 A 的元素按排序顺序返回逻辑 1 (true),否则返回逻辑 0 (false)。 输入 A 可以是向量或 N×1 或 1×N 字符串单元数组。 如果 A 和 sort(A) 的输出相等,则认为 A 已排序。 |
6 | issorted(A, 'rows') 如果二维矩阵 A 的行按排序顺序,则返回逻辑 1 (true),否则返回逻辑 0 (false)。如果 A 和 sortrows(A) 的输出相等,则认为矩阵 A 已排序。 |
7 | setdiff(A,B) 设置两个数组的差异; 返回 A 中 B 中没有的值。返回数组中的值按排序顺序排列。 |
8 | setdiff(A,B,'rows') 将 A 的每一行和 B 的每一行视为单个实体,并返回 A 中不在 B 中的行。返回矩阵的行按排序顺序排列。 "rows"选项不支持单元数组。 |
9 | setxor 设置两个数组的异或 |
10 | union 设置两个数组的并集 |
11 | unique 数组中的唯一值 |
示例
创建脚本文件并输入以下代码 −
a = [7 23 14 15 9 12 8 24 35] b = [ 2 5 7 8 14 16 25 35 27] u = union(a, b) i = intersect(a, b) s = setdiff(a, b)
当您运行该文件时,它会产生以下结果 −
a = 7 23 14 15 9 12 8 24 35 b = 2 5 7 8 14 16 25 35 27 u = 2 5 7 8 9 12 14 15 16 23 24 25 27 35 i = 7 8 14 35 s = 9 12 15 23 24