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 1 1 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 = 0 1 1 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元素。