Logical indexing in cell array
古いコメントを表示
Is there a way to search strings in a cell array similar to numeric arrays?
a = [1 2 3 4 5 6];
>> idx = find(a==3)
idx = 3
>> b = {'1' '2' '3' '4' '5' '6'};
>> idx = find(b=='3')
Undefined function 'eq' for input arguments of type 'cell'.
採用された回答
その他の回答 (3 件)
Ganesh Hegade
2016 年 10 月 14 日
Hi, You can use this
strcmp(b, '3');
1 件のコメント
matuser123
2016 年 10 月 14 日
Sulaymon Eshkabilov
2021 年 7 月 4 日
Now, what michio suggested works perfectly ok:
b = {'1' '2' '3' '4' '5' '6'};
b(cellfun(@(x) strcmp(x,'3'), b))={'Found 3'}
So this is another good solution for this exercise.
カテゴリ
ヘルプ センター および File Exchange で Matrices and Arrays についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!