簡體   English   中英

Matlab-單元格數組相等字符串中索引的矢量化方法

[英]Matlab - vectorized way to indices in cell array equal string

我有一個435x1的單元格數組,其元素為'y','n'或'?'。 我想查找哪些索引等於“ y”。

對於普通數組,我只使用find函數。 但是我不能將其用於單元格數組,因為沒有為單元格類型定義eq。

我想我可以遍歷每個要素並做

for index=1:size(cell_array,1)
    if cell_array{index} == 'y'
        %add index to some array of indices
    end
end

但是,是否有矢量化的方法可以遍歷數組並查找包含等於“ y”的元素的索引? 任何幫助表示贊賞。

由於您知道每個單元格都將包含一個字符,因此可以連接所有單元格元素並進行單個矢量化測試:

find([cell_array{:}]=='y')

可能最直接的方法就是使用strcmp ,它可以接受單元格數組作為第二個參數:

find(strcmp('y',cell_array))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM