帮助中心帮助中心
确定所有的数组元素是为非零还是 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。
all 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
不支持双精度数据类型。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
all 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (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