如何在多维数组上使用any()?

Mar*_*arc 3 arrays matlab matrix multidimensional-array any

我正在测试一个任意大的,任意大小的逻辑数组,我想知道它们中是否有一个或多个是真的.any()一次仅适用于单个维度,也是如此sum().我知道我可以测试尺寸的数量并重复,any()直到我得到一个答案,但我想要一个更快,更坦率,更优雅的方法.

想法?

我正在运行2009a(R17,用旧的说法,我认为).

gno*_*ice 10

如果您的数据位于矩阵A中,请尝试以下操作:

anyAreTrue = any(A(:));
Run Code Online (Sandbox Code Playgroud)

编辑:为了解释不熟悉语法的人,A(:)使用冒号运算符来获取数组A的全部内容,无论尺寸如何,并将它们重新整形为单个列向量(大小) numel(A)×1).只需要对ANY进行一次调用即可对结果列向量进行操作.