酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

MATLAB與或非等邏輯運算符的用法

電腦2.17W

總結了MATLAB中適用於邏輯表達式和單個元素的邏輯運算。有&&,||,&,|,~,xor這些。
另外要注意,對於單個列表的邏輯運算比如all和any不在本講解範圍。

操作方法

(01)首先,&&和||是短路版本的邏輯與和邏輯或,稱爲short-circuit運算符。短路邏輯運算符的兩邊必須是邏輯標量值。比如單個邏輯變量,邏輯表達式都可以。

MATLAB與或非等邏輯運算符的用法

(02)下面解釋短路。這個短路類似於其它編程語言。爲了演示,我們首先寫一個函數calcsum,該函數如果被調用會輸出一行資訊,並返回a+b+c

MATLAB與或非等邏輯運算符的用法 第2張

(03)如圖,對於&&符號(與),透過觀察輸出結果,我們發現如果第&&左邊的表達式不滿足,就不會計算右邊的了(結果無法改變,右邊被“短路”了)

MATLAB與或非等邏輯運算符的用法 第3張

(04)同理,對於||符號(或),如果左邊表達式已經爲真,則右邊就不會被計算。

MATLAB與或非等邏輯運算符的用法 第4張

(05)下面,我們說元素級別的邏輯比較運算符,與and(&), 或or(|), 非not(~),異或xor(無符號)。如圖,&兩邊可以是邏輯表達式也可以是數據。

MATLAB與或非等邏輯運算符的用法 第5張

(06)這些元素級別邏輯符可以用於兩個等尺寸的列表,會計算對應元素得到結果列表。

MATLAB與或非等邏輯運算符的用法 第6張
MATLAB與或非等邏輯運算符的用法 第7張
MATLAB與或非等邏輯運算符的用法 第8張

(07)這些符號是沒有短路效果的,如圖,邏輯符號兩邊都會被計算後再進行邏輯運算。

MATLAB與或非等邏輯運算符的用法 第9張

特別提示

如果是對整個列表的邏輯值進行合併等,要用列表級別的邏輯運算函數,比如all,any這些。