跳转到内容

Octave 编程教程/集合

来自维基教科书,开放的书籍,为一个开放的世界
SET

Octave 集合运算 Octave 中有不同的集合运算,基本上 Octave 可以使用向量、元胞数组或矩阵作为其集合输入操作。

1) 集合并

集合并运算是在两个集合 a 和 b 合并在一起的操作之一。

在本例中,我们将采用两个集合,即 A 包含内容 1、2、3,B 包含内容 3、4、5。首先,我们将使用 Octave 的集合并运算。这可以通过 Octave 提供的 union 函数来实现。

 octave:1> a=[1,2,3]  
 a =  
   1  2  3  
 octave:2> b=[3,4,5]  
 b =  
   3  4  5  
 octave:3> union(a,b)  
 ans =  
   1  2  3  4  5

2) 集合交集 

集合交集运算是在两个集合 a 和 b 合并在一起并取公共元素的操作之一。

在本例中,我们将采用两个集合,即 A 包含内容 1、2、3,B 包含内容 3、4、5。首先,我们将使用 Octave 的集合交集运算。这可以通过 Octave 提供的 intersection 函数来实现。

octave:1> a=[1,2,3]  
 a =  
   1  2  3  
 octave:2> b=[3,4,5]  
 b =  
   3  4  5  
 octave:3> intersect(a,b)  
 ans =  
   3

3) 集合差

集合差运算也称为 a-b 运算,是返回 a 中不在 b 中的元素的操作。让我们写下集合差运算如下 


集合=A-B

在本例中,我们将采用两个集合,即 A 包含内容 1、2、3,B 包含内容 3、4、5。首先,我们将使用 Octave 的集合差运算。这可以通过 Octave 提供的 setdiff 函数来实现。差运算是一种集合运算,它返回 a 中不在 b 中的元素。

 octave:1> a=[1,2,3]  
 a =  
   1  2  3  
 octave:2> b=[3,4,5]  
 b =  
   3  4  5  
 octave:3> setdiff(a,b)  
 ans =  
   1,2

4) 唯一

唯一运算返回一个集合,该集合包含给定集合中每个元素的一个副本,并且元素按排序顺序排列。

在本例中,我们将采用一个集合,即 A 包含内容 1、2、4、3、5、2、1,其中包含重复元素 1 和 2,以及无序元素。唯一运算将对集合进行排序并删除重复元素的额外副本。

 octave:1> a=[1,2,4,3,5,2,1]  
 a =
   1   2   4   3   5   2   1  
 octave:2> unique(a)
 ans =
   1   2   3   4   5
</syntaxhihglight>


4) XOR operation:
The Xor operation is one of the operation in which the two sets are compared  and if both the set evalulation remains the same then the result is return false else its return true . To execute set exor operation in octave we are going to use setxor function.
<syntaxhighlight lang="octave">
  a=[1,2,3]  
  a =  
    1  2  3  
  octave-3.2.4:34> b=[1,2,4]  
  b =  
    1  2  4  
  octave-3.2.4:35> setxor(a,b)  
  ans =  
    3  4

5) Ismember

Octave 集合 ISMEMBER 是一个函数,其中两个集合被比较,并且在第二个集合中存在的元素被标记为 true,其余的被标记为 false。此函数基本上用于检查哪些元素存在于两个集合中。

 ocatave-3.2.4:33> a=[1,2,3]  
 a =  
   1  2  3  
  octave-3.2.4:34> b=[1,2,4]  
  b =  
    1  2  4  
  octave-3.2.4:35>  ismember(a,b)  
  ans =  
    [1 1 0]
华夏公益教科书