1. 程式人生 > >matlab中all和any用法

matlab中all和any用法

all函式:檢測矩陣中是否全為非零元素

any函式:檢測矩陣中是否有非零元素,如果有,則返回1,否則,返回0。用法和all一樣
  1. 語法:
  2. B = all(A)
  3. B = all(A, dim)
複製程式碼 B = all(A):

如果A是一個向量,如果所有的元素都是非零的,則返回1,如果有一個元素為零,則返回0。

如果A是一個矩陣,則返回一個行向量,用於檢測每一列是否全為非零元素,如果某一列中有一個元素為零,則返回0,如果某一列中全為非零元素,則返回1,由此構成一個行向量。

B = all(A, 1)

返回一個行向量,可以認為all(A, 1)等價於all(A)


B = all(A, 2)

返回一個列向量,用於檢測每一行是否全為非零元素,如果某一行中有一個元素為零,則返回0,如果某一行中全為非零元素,則返回1,由此構成一個列向量。


例題:
  1. >> a=[1 2 3;0 2 0;0 4 0]
  2. a =
  3. 1 2 3
  4. 0 2 0
  5. 0 4 0
  6. >> all(a)
  7. ans =
  8. 0 1 0
  9. >> all(a,1)
  10. ans =
  11. 0 1 0
  12. >> all(a,2)
  13. ans =
  14. 1
  15. 0
  16. 0
複製程式碼 同樣,我們可以利用all函式,進行矩陣中一定條件的程式設計。

格式如下:
  1. if all(A < 0.5)
  2. do something
  3. else
  4. do another thing
  5. end
複製程式碼 例題:
  1. >> a=[1 2 3 4 5 6 7 8 9]
  2. a =
  3. 1 2 3 4 5 6 7 8 9
  4. >> if all(a>4)
  5. disp('OK');
  6. else
  7. disp('Sorry');
  8. end
  9. 結果顯示為Sorry
複製程式碼