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 CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by