Any idea why all([]) is true while any([]) is false

1 次查看(过去 30 天)
>> all([])
ans =
1
>> any([])
ans =
0
  2 个评论
Ryan
Ryan 2012-7-29
It's written into the documentation as such, but no explanation is given.
Khaled Hamed
Khaled Hamed 2012-7-29
I have just noticed the same with Nan! more confusing
>> all(nan)
ans =
1
>> any(nan)
ans =
0

请先登录,再进行评论。

采纳的回答

Daniel Shub
Daniel Shub 2012-7-29
This post by Loren lead to some comments that address the issue, especially the one by Matt Fig.

更多回答(1 个)

the cyclist
the cyclist 2012-7-29
I can't say I know definitively, but I expect that one reason is for consistency when taking the union of sets with the empty set. For example, one would want
all(union(true,[]))
to be true, and also
any(union(false,[]))
to be false. The definitions in your question make sense in that context.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by