1 關系運算符
關系運算符用來比較兩個數之間的大小關系,在Matlab中的關系運算符包括:
- < 小於
- <= 小於或等於
- > 大於
- >= 大於或等於
- == 等於
- ~= 不等於
這些關系運算符還能用來比較兩個同維矩陣,實際上是比較兩個矩陣對應的元素,比較結果仍然是一個矩陣. 如果兩個矩陣的對應元素符合某個關系,則結果矩陣對應的元素為1,否則為0,例如
2 邏輯運算符和邏輯函數
元素/標量級的邏輯運算符
元素級(Element-Wise)的邏輯運算符用於對標量或矩陣元素進行邏輯運算,得到一個結果標量或結果矩陣。假設操作數為a和b,則元素級邏輯運算符包括:
- a&b : 與運算,兩標量或兩元素均非0則返回1,否則返回0. 注意,在if 條件語句中,兩個表達式的與操作用&&.
- a|b : 或運算,兩標量或者兩元素至少有一個是非0則返回1,否則返回0. 在條件語句中,兩個表達式的或用||.
- ~a : 非運算,對作用的標量或矩陣元素求補,如果標量或者矩陣元素為0則結果為1,如果標量或矩陣元素不為0則結果為0.
- xor(a,b) : 異或運算,兩標量或兩元素均非0或均為0則返回0,否則返回1。
這四個邏輯運算的事例如下所示:
其中,與、或、非運算都有對應的函數形式: A & B = and(A, B), A | B=or(A, B), ~A=not(A).注意,如果兩個矩陣或者兩個數組要進行與、或、異或運算,則這兩個矩陣或者數組要具有相同的維度.
比特級的邏輯函數
比特級(Bit-Wise)的邏輯運算符作用在非負兩個或一個整數上. 運算時,先將整數參數轉換成二進制比特串形式,然后按位操作。假設操作數為a=28 (二進制11100)和b=21 (二進制10101),比特級的邏輯函數包括:
- bitand: 對兩個操作數按位與,例如bitand(a,b)=20 (二進制10100).
- bitor: 對兩個操作數按位或,例如bitor(a,b)=29 (二進制11101).
- bitcmp: 對操作數按位求反(補),其中二個參數時返回值的二進制串長度,不能小於原操作數的二進制長度,例如bitcmp(a,5)=3 (二進制00011).
- bitxor: 對兩個操作數按位異或,例如bitxor(a,b)=9(二進制01001).