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
复制代码

猜你喜欢

转载自blog.csdn.net/lu_mingzhi/article/details/70941115