How to select the indices of two arrays that satisfy two conditions using cellfun (no loops or ifs)?

1 回表示 (過去 30 日間)
Let's say I have two arrays:
A = {'one(1)', 'two(1)', 'three(2)', 'four(2)', 'five(1)'};
B = {'One', 'TWo', 'thrEE', 'Four', 'fiVe'};
I need to know the indices in the array A that have a: (1) and in the array B only one capital letter. For this example the indices are:
idx = [1, 5]
Could you recommend me something using cellfun or something else without loops or ifs?
Thanks in advance

採用された回答

Fangjun Jiang
Fangjun Jiang 2018 年 8 月 22 日
編集済み: Fangjun Jiang 2018 年 8 月 22 日
IndA=contains(A,'(1)');
IndB=cellfun(@(x) sum(x)==1, isstrprop(B,'upper'));
Index=find(and(IndA,IndB))

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by