【问题标题】:How to check if a column vector has logical 1 elements?如何检查列向量是否具有逻辑 1 元素?
【发布时间】:2015-10-14 07:33:41
【问题描述】:

我想检查列向量是否有逻辑 1。
说,A = [0;0;0;0;1;0;1;0;0;0]

    if (any element in A is a logical 1)
           "perform an operation"
    end

我应该使用什么作为条件语句?如果可能,我更喜欢使用矢量化代码。

【问题讨论】:

  • @aioobe 完美运行。非常感谢。

标签: matlab vectorization


【解决方案1】:

一个 Matlab 数组只能有一种类型。在同一个数组中不能有双精度数和逻辑数。您可以按照@aioobe 的建议使用sum(A) > 0 作为条件(最好,如果您知道它们是非负数),也可以使用any(A) 作为条件。

【讨论】:

  • 是的,列向量中只有 0 和 1 元素。
  • 我觉得any(A)还是比较可取的,因为它更好地匹配上下文,也可能更快。
  • 我不知道anyany 显然是这里的最佳选择。
  • 我尝试使用 any(A) 但只有当整个列向量元素为 1 时它才会返回 True。
  • 请阅读文档以获取任何信息。当且仅当其参数的所有条目都是 0 或 false 时,它​​才会给出 false。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多