![](/img/trans.png)
[英]Stacking an array with overlapping indices. Looking for a vectorized way over loops
[英]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.