初级设定操作

可以使用 Matlab 执行基本集合操作。假设我们给出了两个向量或数组

A = randi([0 10],1,5);
B = randi([-1 9], 1,5);

我们想找到 AB 中的所有元素。为此,我们可以使用

C = intersect(A,B);

C 将包括 A 的一部分和 B 的一部分。如果我们也想找到这些元素的位置,我们称之为

[C,pos] = intersect(A,B);

pos 是这些元素的位置,如 C == A(pos)

另一个基本操作是两套联合

D = union(A,B);

Herby 包含了 DB 的所有元素。

请注意,AB 在此被视为集合,这意味着元素是 AB 的一部分的频率并不重要。澄清这个可以检查 D == union(D,C)

如果我们想要获得’A’但不是’B’的数据,我们可以使用以下函数

E = setdiff(A,B);

我们想再次注意,这是设置,以便以下声明保持 D == union(E,B)

假设我们要检查是否

x = randi([-10 10],1,1);

AB 的元素我们可以执行命令

a = ismember(A,x);
b = ismember(B,x);

如果 a==1 那么 xA 的元素而 x 则没有元素是 a==0B 也是如此。如果 a==1 && b==1 x 也是 C 的一个元素。如果 a == 1 || b == 1 xD 的元素,如果 a == 1 || b == 0 它也是 E 的元素。