Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 22 Aug. 2018
Bearbeitet: Fangjun Jiang am 22 Aug. 2018
IndA=contains(A,'(1)');
IndB=cellfun(@(x) sum(x)==1, isstrprop(B,'upper'));
Index=find(and(IndA,IndB))

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by