MATLAB關系運算符和邏輯運算符


1 關系運算符

關系運算符用來比較兩個數之間的大小關系,在Matlab中的關系運算符包括:

  1. <    小於
  2. <=  小於或等於
  3. >        大於
  4. >=      大於或等於
  5. ==      等於
  6. ~=      不等於

  這些關系運算符還能用來比較兩個同維矩陣,實際上是比較兩個矩陣對應的元素,比較結果仍然是一個矩陣. 如果兩個矩陣的對應元素符合某個關系,則結果矩陣對應的元素為1,否則為0,例如

  

2 邏輯運算符和邏輯函數

元素/標量級的邏輯運算符

  元素級(Element-Wise)的邏輯運算符用於對標量或矩陣元素進行邏輯運算,得到一個結果標量或結果矩陣。假設操作數為a和b,則元素級邏輯運算符包括:

  1. a&b : 與運算,兩標量或兩元素均非0則返回1,否則返回0. 注意,在if 條件語句中,兩個表達式的與操作用&&.
  2. a|b :  或運算,兩標量或者兩元素至少有一個是非0則返回1,否則返回0. 在條件語句中,兩個表達式的或用||.
  3. ~a :   非運算,對作用的標量或矩陣元素求補,如果標量或者矩陣元素為0則結果為1,如果標量或矩陣元素不為0則結果為0.
  4. 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),比特級的邏輯函數包括:

  1. bitand:       對兩個操作數按位與,例如bitand(a,b)=20 (二進制10100).
  2. bitor:         對兩個操作數按位或,例如bitor(a,b)=29 (二進制11101).
  3. bitcmp:      對操作數按位求反(補),其中二個參數時返回值的二進制串長度,不能小於原操作數的二進制長度,例如bitcmp(a,5)=3 (二進制00011).
  4. bitxor:       對兩個操作數按位異或,例如bitxor(a,b)=9(二進制01001).

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM