2015-10-14 90 views
1

我想檢查列向量是否有邏輯1。
說,A = [0;0;0;0;1;0;1;0;0;0]如何檢查列向量是否具有邏輯1元素?

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

我應該作爲條件語句中使用?如果可能,我寧願使用矢量化代碼。

+0

@aioobe完美的工作。非常感謝。 – nashynash

回答

2

Matlab數組只能有一種類型。你不能在同一個數組中有一個double和一個邏輯。您可以使用sum(A) > 0作爲條件,如@aioobe建議的(最好,如果您知道它們是非負的),或者您可以使用any(A)作爲條件。

+0

是的,列向量中只有0和1個元素。 – nashynash

+1

我認爲'任何(A)'仍然是可取的,因爲它更好地匹配上下文,也可能更快。 – Wauzl

+0

我不知道有'任何'。 「任何」顯然是這裏的最佳選擇。 – aioobe

相關問題