matlab關係和邏輯運算?

Tags: 關係, 邏輯,

在結構化程序設計時,常會遇到邏輯判斷、關係運算等,下面小編簡要介紹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。其它諸如>= 、< 、<=等一樣分析即可。

matlab關係和邏輯運算

關係運算嵌套其它語句

在for、while循環時,常需要藉助關係運算來判斷程序下一步執行操作。如下所示,即利用關係運算來選擇執行代碼:

a = 20;

if a > 15,

a = a + 3;

else,

a = a - 3;

end

% a value

a

通過a 的值判斷來決定執行的操作,程序輸出: a = 23

matlab關係和邏輯運算

在多條件(因素)判斷時,常需要邏輯運算操作,比如邏輯與(&)、邏輯或( )、邏輯非(~),在這裡需要與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,如下圖所示:

matlab關係和邏輯運算

注意事項

在邏輯運算與關係運算時,需要注意運算對象(矩陣)的維度。

語法不要與C語言、Java等編程語言混淆,尤其是條件判斷語法!

相關問題答案