MATLAB集合操作

2018-08-11 10:21 更新

MATLAB中包含多樣的函數(shù)集合運(yùn)算,如集,交集和測(cè)試組成員等。

下表顯示了一些常用的設(shè)置操作:

函數(shù)描述
intersect(A,B)設(shè)置兩個(gè)數(shù)組的交集;返回A和B所共有的值。返回的值按排序順序排列。
intersect(A,B,'rows')將A和B的每一行作為單個(gè)實(shí)體處理,并返回A和B的公共行。返回的矩陣的行按排序順序排列。
ismember(A,B)返回與A大小相同的數(shù)組,包含1(true),其中A的元素在其他地方的B中找到,它返回0(false)。
ismember(A,B,'rows')將A和B的每一行作為單個(gè)實(shí)體處理,并返回一個(gè)包含1(true)的向量,其中矩陣A的行也是B的行;否則,它返回0(false)。
issorted(A)如果A的元素按排序順序返回邏輯1(true),否則返回邏輯0(false)。輸入A可以是向量,也可以是N-by-1或1-by-N的字符串?dāng)?shù)組。如果A和sort(A)的輸出相等,則A被認(rèn)為是排序的。
issorted(A, 'rows')如果二維矩陣A的行按排序順序返回邏輯1(真),否則返回邏輯0(假)。 如果A和排序(A)的輸出相等,則認(rèn)為矩陣A被排序。
setdiff(A,B)設(shè)置兩個(gè)數(shù)組的差值;返回不在B中的值。返回?cái)?shù)組中的值按排序順序排列。
setdiff(A,B,'rows')
將每一行A和B行作為單個(gè)實(shí)體處理,并返回一個(gè)不在B中的行。返回的矩陣的行按排序順序排列。
“行”選項(xiàng)不支持單元格數(shù)組。
setxor設(shè)置兩個(gè)數(shù)組的異或
union設(shè)置兩個(gè)數(shù)組的并集
unique數(shù)組中唯一的值

詳細(xì)例子

在MATLAB中建立一個(gè)腳本文件,并鍵入下面的代碼:

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)

運(yùn)行該文件,產(chǎn)生以下結(jié)果:

a =
     7    23    14    15     9    12     8    24    35
b =
     2     5     7     8    14    16    25    35    27
u =
  Columns 1 through 11
     2     5     7     8     9    12    14    15    16    23    24
  Columns 12 through 14
    25    27    35
i =
     7     8    14    35
s =
     9    12    15    23    24


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)