帮助中心帮助中心
确定所有的数组元素是为非零还是 true
true
B = all(A)
B = all(A,'all')
B = all(A,dim)
B = all(A,vecdim)
示例
B = all(A) 沿着大小不等于 1 的数组 A 的第一维测试所有元素为非零还是逻辑值 1 (true)。实际上,all 是逻辑 AND 运算符的原生扩展。
B
A
1
all
如果 A 为向量,当所有元素为非零时,all(A) 返回逻辑 1 (true),当一个或多个元素为零时,返回逻辑 0 (false)。
all(A)
0
false
如果 A 为非空矩阵,all(A) 将 A 的各列视为向量,返回包含逻辑 1 和 0 的行向量。
如果 A 为 0×0 空矩阵,all(A) 返回逻辑 1 (true)。
如果 A 为多维数组,则 all(A) 沿第一个非单一维度运算并返回逻辑值数组。此维的大小将变为 1,而所有其他维的大小保持不变。
B = all(A,'all') 对 A 的所有元素进行测试。此语法适用于 MATLAB® R2018b 及更高版本。
'all'
B = all(A,dim) 沿着 dim 维测试元素。dim 输入是一个正整数标量。
dim
B = all(A,vecdim) 根据向量 vecdim 中指定的维度测试元素。例如,如果 A 是矩阵,则 all(A,[1 2]) 对 A 中的所有元素进行测试,因为矩阵的每个元素均包含在由维度 1 和 2 定义的数组切片中。
vecdim
all(A,[1 2])
全部折叠
创建一个 3×3 矩阵,然后测试每列是否全部为非零元素。
A = [0 0 3;0 0 3;0 0 3]
A = 3×3 0 0 3 0 0 3 0 0 3
B = 1x3 logical array 0 0 1
创建数值向量并测试哪些值小于 0.5。
A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69]; B = (A < 0.5)
B = 1x7 logical array 0 0 1 1 1 1 0
输出是逻辑值向量。all 函数将逻辑条件的此类向量约简为单一条件。在这种情况下,B = all(A < 0.5) 得出逻辑 0。
B = all(A < 0.5)
这使 all 在 if 语句中特别有用。
if
if all(A < 0.5)
%do something
else
%do something else
end
其中根据单一条件(而不是可能发生冲突的条件向量)执行代码。
创建一个 3×7×5 多维数组并检查它的任何元素是否小于 3:
A = rand(3,7,5) * 5; B = all(A(:) < 3)
B = logical 0
还可以测试数组元素是否大于 0。
B = all(A(:) > 0)
B = logical 1
A(:) 语法将 A 的元素转换成单列向量,因此您可以将此类型语句用于任意大小的数组。
A(:)
创建一个 3×3 矩阵。
通过指定 dim = 2 测试 A 行中所有非零元素。
dim = 2
B = all(A,2)
B = 3x1 logical array 0 0 0
创建三维数组并确定是否每页数据(行和列)中的所有元素都为零。
A(:,:,1) = [2 1; 3 5]; A(:,:,2) = [0 0; 0 0]; A(:,:,3) = [-2 9; 4 1]; B = all(A,[1 2])
B = 1x1x3 logical array B(:,:,1) = 1 B(:,:,2) = 0 B(:,:,3) = 1
输入数组,指定为标量、向量、矩阵或多维数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
char
沿其运算的维度,指定为正整数标量。如果不指定维度,则默认为第一个大于 1 的数组维度。
以一个二维输入数组 A 为例:
all(A,1) 对 A 中列的连续元素进行处理并返回逻辑值行向量。
all(A,1)
all(A,2) 对 A 中行的连续元素进行处理并返回逻辑值列向量。
all(A,2)
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
维度向量,指定为正整数向量。每个元素代表输入数组的一个维度。指定的操作维度的输出长度为 1,而其他保持不变。
以 2×3×3 输入数组 A 为例。此时,all(A,[1 2]) 返回 1×1×3 数组,其元素表示 A 的每个页面的非零值。
逻辑数组,返回为标量、向量、矩阵或多维数组。all 处理的 A 的维度在B 中的大小为 1。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
不支持双精度数据类型。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
在 R2006a 之前推出
any | and | colon | prod | sum
any
and
colon
prod
sum
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office