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

❮ matlab_operators.html