MATLAB與或非等邏輯運算符的用法
總結了MATLAB中適用於邏輯表達式和單個元素的邏輯運算。有&&,||,&,|,~,xor這些。
另外要注意,對於單個列表的邏輯運算比如all和any不在本講解範圍。
操作方法
(01)首先,&&和||是短路版本的邏輯與和邏輯或,稱爲short-circuit運算符。短路邏輯運算符的兩邊必須是邏輯標量值。比如單個邏輯變量,邏輯表達式都可以。
(02)下面解釋短路。這個短路類似於其它編程語言。爲了演示,我們首先寫一個函數calcsum,該函數如果被調用會輸出一行資訊,並返回a+b+c
(03)如圖,對於&&符號(與),透過觀察輸出結果,我們發現如果第&&左邊的表達式不滿足,就不會計算右邊的了(結果無法改變,右邊被“短路”了)
(04)同理,對於||符號(或),如果左邊表達式已經爲真,則右邊就不會被計算。
(05)下面,我們說元素級別的邏輯比較運算符,與and(&), 或or(|), 非not(~),異或xor(無符號)。如圖,&兩邊可以是邏輯表達式也可以是數據。
(06)這些元素級別邏輯符可以用於兩個等尺寸的列表,會計算對應元素得到結果列表。
(07)這些符號是沒有短路效果的,如圖,邏輯符號兩邊都會被計算後再進行邏輯運算。
特別提示
如果是對整個列表的邏輯值進行合併等,要用列表級別的邏輯運算函數,比如all,any這些。