在結構化程序設計時,常會遇到邏輯判斷、關係運算等,下面小編簡要介紹matlab中的邏輯運算與關係運算操作。
工具/原料
matlab 7.0 及以上
方法/步驟
在matlab中,關係運算與邏輯運算都是針對元素的操作,運算結果是特殊的邏輯數組。在邏輯分析時,邏輯(真)用1表示,邏輯假用0表示,和C語言中邏輯運算一樣,邏輯運算中所有的非零元素作為1處理。
常見的關係與邏輯運算符有:< 、<= 、> 、>= 、 == 、~= 、& 、 、~
關係運算(> 大於)
>> A = [1 2 ; 4 6];
>> B = [2 4 ; 7 3];
>> C = (A > B)
C =
0 0
0 1
觀察輸出,可以發現,在關係比較時比較的對象(矩陣)的維度要一致,並且比較時取2個矩陣相同位置的元素比較,如果關係成立,則為邏輯1,比較後返回的矩陣(如矩陣C)中對應位置元素為邏輯1;如果不成立,則為邏輯0。其它諸如>= 、< 、<=等一樣分析即可。
關係運算嵌套其它語句
在for、while循環時,常需要藉助關係運算來判斷程序下一步執行操作。如下所示,即利用關係運算來選擇執行代碼:
a = 20;
if a > 15,
a = a + 3;
else,
a = a - 3;
end
% a value
a
通過a 的值判斷來決定執行的操作,程序輸出: a = 23
在多條件(因素)判斷時,常需要邏輯運算操作,比如邏輯與(&)、邏輯或( )、邏輯非(~),在這裡需要與C語言中的邏輯運算符加以區別。
如下示例:
a = 12;
b = 1;
if (a > 10)&(b==1),
a = a + 3;
else,
a = a - 3;
end
% a value
a
在這裡,由於a = 12大於10並且b = 1,滿足第一個條件所以程序執行的是:a = a + 3操作,a = 12 + 3 = 15,所以執行後a = 15,如下圖所示:
注意事項
在邏輯運算與關係運算時,需要注意運算對象(矩陣)的維度。
語法不要與C語言、Java等編程語言混淆,尤其是條件判斷語法!