首页 > 代码库 > all,any函数

all,any函数

all函数:当矩阵全为非零元素时返回1,否则(存在零元素),返回0;
any函数:当矩阵中存在非零元素时返回1,否则(全为零元素),返回0。

如果A是一个向量,所有的元素都是非零的,则返回1,如果有一个元素为零,则返回0
如果A是一个矩阵,则返回一个行向量,用于检测每一列是否全为非零元素,如果某一列中有一个元素为零,则返回0,如果某一列中全为非零元素,则返回1,由此构成一个行向量。

B = all(A, 1)返回一个行向量,可以认为all(A, 1)等价于all(A)
B = all(A, 2) 返回一个列向量,用于检测每一行是否全为非零元素。

实验:
>> a=ones(4)
a =
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
>> all(a)

ans =

              1
>> all(all(a))
ans =
     1
>> a(2,1)=0
a =
     1     1     1     1
     0     1     1     1
     1     1     1     1
     1     1     1     1
>> all(a)

ans =

              1
>> all(all(a))
ans =
     0
技巧:all(all(a))可用于检测是否a全为非零元素
>> p=zeros(4)
p =

     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0

>> any(any(p))

ans =

     0

>> p(2,1)=1

p =

     0     0     0     0
     1     0     0     0
     0     0     0     0
     0     0     0     0

>> any(any(p))

ans =

     1
技巧:any(any(a))可用于检测a是否存在非零元素,反过来也可判断是否全为0,若返回0,则矩阵全为0元素。