詳細(xì)例子
在MATLAB中建立一個(gè)腳本文件,并輸入下面的代碼:
a = 5; b = 20; if ( a && b ) disp('Line 1 - Condition is true'); end if ( a || b ) disp('Line 2 - Condition is true'); end % lets change the value of a and b a = 0; b = 10; if ( a && b ) disp('Line 3 - Condition is true'); else disp('Line 3 - Condition is not true'); end if (~(a && b)) disp('Line 4 - Condition is true'); end
運(yùn)行該文件,產(chǎn)生如下結(jié)果:
Line 1 - Condition is true Line 2 - Condition is true Line 3 - Condition is not true Line 4 - Condition is true
MATLAB邏輯運(yùn)算功能
除了在上述的邏輯運(yùn)算符,MATLAB 提供下面的命令或函數(shù)用于同樣的目的:
函數(shù) | 描述 |
---|---|
and(A, B) | 查找數(shù)組或標(biāo)量輸入的邏輯和;執(zhí)行所有輸入數(shù)組A,B等的邏輯AND,并返回包含設(shè)置為邏輯1(真)或邏輯0(假)的元素的數(shù)組。如果所有輸入數(shù)組在同一個(gè)數(shù)組位置都包含一個(gè)非零元素,那么輸出數(shù)組的一個(gè)元素將被設(shè)置為1;否則,該元素設(shè)置為0。 |
not(A) | 查找數(shù)組或標(biāo)量輸入的邏輯NOT;執(zhí)行輸入數(shù)組A的邏輯NOT,并返回包含設(shè)置為邏輯1(真)或邏輯0(假)的元素的數(shù)組。如果輸入數(shù)組在同一個(gè)數(shù)組位置包含一個(gè)零值元素,那么輸出數(shù)組的一個(gè)元素將被設(shè)置為1;否則,該元素設(shè)置為0。 |
or(A, B) | 查找數(shù)組或標(biāo)量輸入的邏輯或; 執(zhí)行所有輸入數(shù)組A,B等的邏輯或,并返回包含設(shè)置為邏輯1(真)或邏輯0(假)的元素的數(shù)組。如果任何輸入數(shù)組在同一個(gè)數(shù)組位置包含一個(gè)非零元素,則輸出數(shù)組的一個(gè)元素設(shè)置為1;否則,該元素設(shè)置為0。 |
xor(A, B) | 邏輯異或; 對數(shù)組A和B的相應(yīng)元素執(zhí)行異或運(yùn)算。如果A(i,j,...)或B(i,j)...,則所得到的元素C(i,j,...) j,...),但不是兩者都是非零的。 |
all(A) | 確定數(shù)組A的所有數(shù)組元素是否為非零或真。
|
all(A, dim) | 通過標(biāo)量dim沿著維數(shù)A的維度進(jìn)行測試。 |
any(A) | 確定數(shù)組元素是否為非零;測試數(shù)組中不同維度的元素是否為非零數(shù)字,或是邏輯1(真)。 任何函數(shù)忽略NaN(不是數(shù)字)的條目。
|
any(A,dim) | 通過標(biāo)量dim沿著維數(shù)A的維度進(jìn)行測試。 |
false | 邏輯0(假) |
false(n) | 是邏輯0的n×n矩陣 |
false(m, n) | 是邏輯0的一個(gè)m×n矩陣。 |
false(m, n, p, ...) | 是由邏輯0的逐列逐列數(shù)組。 |
false(size(A)) | 是與數(shù)組A大小相同的邏輯零數(shù)組。 |
false(...,'like',p) | 是與邏輯陣列p相同的數(shù)據(jù)類型和稀疏性的邏輯零數(shù)組。 |
ind = find(X) | 查找非零元素的索引和值;定位數(shù)組X的所有非零元素,并返回向量中這些元素的線性索引。 如果X是行向量,則返回的向量是行向量; 否則返回列向量。如果X不包含非零元素或是空數(shù)組,則返回一個(gè)空數(shù)組。 |
ind = find(X, k) ind = find(X, k, 'first') | 最多返回與X的非零條目相對應(yīng)的前k個(gè)索引。k必須是正整數(shù),但它可以是任何數(shù)字?jǐn)?shù)據(jù)類型。 |
ind = find(X, k, 'last') | 最多返回與X的非零條目相對應(yīng)的最后k個(gè)索引。 |
[row,col] = find(X, ...) | 返回矩陣X中非零條目的行和列索引。使用稀疏矩陣時(shí),此語法特別有用。 如果X是N>2的N維數(shù)組,col包含列的線性索引。 |
[row,col,v] = find(X, ...) | 返回X中非零條目的列或行向量v,以及行和列索引。如果X是邏輯表達(dá)式,則v是邏輯數(shù)組。 輸出v包含通過評估表達(dá)式X獲得的邏輯數(shù)組的非零元素。 |
islogical(A) | 確定輸入是否為邏輯數(shù)組;如果A是邏輯數(shù)組,返回true,否則返回false。 如果A是從邏輯類派生的類的實(shí)例,它也返回true。 |
logical(A) | 將數(shù)值轉(zhuǎn)換為邏輯;返回一個(gè)可用于邏輯索引或邏輯測試的數(shù)組。 |
true | 邏輯1(真) |
true(n) | 是一個(gè)n×n邏輯矩陣。 |
true(m, n) | 是一個(gè)mxn邏輯矩陣。 |
true(m, n, p, ...) | 是由邏輯1的逐列逐列數(shù)組。 |
true(size(A)) | 是與數(shù)組A大小相同的邏輯數(shù)組。 |
true(...,'like', p) | 是與邏輯陣列p相同的數(shù)據(jù)類型和稀疏性的邏輯陣列。 |
更多建議: