MATLAB - 集合运算


MATLAB 提供了各种集合运算函数,例如并集、交集和集合成员资格测试等。

下表显示了一些常用的集合运算 -

先生。 功能说明
1

相交(A,B)

设置两个数组的交集;返回 A 和 B 共有的值。返回的值按排序顺序排列。

2

相交(A,B,'行')

将 A 的每一行和 B 的每一行视为单个实体,并返回 A 和 B 共有的行。返回矩阵的行按排序顺序排列。

3

是成员(A,B)

返回一个与 A 大小相同的数组,如果 A 的元素在 B 中找到,则包含 1 (true)。否则,它返回 0 (false)。

4

ismember(A,B,'行')

将 A 的每一行和 B 的每一行视为单个实体,并返回一个包含 1 (true) 的向量,其中矩阵 A 的行也是 B 的行。在其他情况下,它返回 0 (false)。

5

什锦(A)

如果 A 的元素按排序顺序返回逻辑 1 (true),否则返回逻辑 0 (false)。输入 A 可以是向量或 N×1 或 1×N 字符串元胞数组。如果 A和 sort(A) 的输出相等,则认为 A 已排序。

6

分类(A,'行')

如果二维矩阵 A 的行已排序,则返回逻辑 1 (true),否则返回逻辑 0 (false)。如果 A和 sortrows(A) 的输出相等,则认为矩阵 A 已排序。

7

设置差异(A,B)

设置两个数组的差异;返回 A 中 B 中没有的值。返回数组中的值按排序顺序排列。

8

setdiff(A,B,'行')

将 A 的每一行和 B 的每一行视为单个实体,并返回 A 中不在 B 中的行。返回矩阵的行按排序顺序排列。

'rows' 选项不支持元胞数组。

9

塞克斯或

设置两个数组的异或

10

联盟

设置两个数组的并集

11

独特的

数组中的唯一值

例子

创建一个脚本文件并输入以下代码 -

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.htm