find element in array

2 views (last 30 days)
NA
NA on 18 Oct 2018
Edited: Stephen23 on 18 Oct 2018
I have
E=[1 2;1 5;2 3;2 4;2 5;3 4;4 5;4 7;4 9;5 6;6 11;6 12;6 13; 7 8;7 9;9 10;9 14;10 11;12 13;13 14]
and
C={[1,2,4,5],[1,2,4,5,6,9,10,11],[1,2,4,5,6,13,13]}
I want to write a code that give me this result:
{[1,2;1,5;2,5;4,5],[1,2;1,5;2,4;4,9;9,10;5,6;6,11],[1,2;1,5;2,4;4,9;5,6;6,13;9,14;13,14]}

Accepted Answer

Bruno Luong
Bruno Luong on 18 Oct 2018
Edited: Bruno Luong on 18 Oct 2018
Not sure how you get the result, but here is an attempt
Data
E=[1 2;1 5;2 3;2 4;2 5;3 4;4 5;4 7;4 9;5 6;6 11;6 12;6 13; 7 8;7 9;9 10;9 14;10 11;12 13;13 14]
C={[1,2,4,5],[1,2,4,5,6,9,10,11],[1,2,4,5,6,13,13]}
Code
CC = cellfun(@(s) E(all(ismember(E,s),2),:), C, 'unif', 0);
Result:
>> CC{:}
ans =
1 2
1 5
2 4
2 5
4 5
ans =
1 2
1 5
2 4
2 5
4 5
4 9
5 6
6 11
9 10
10 11
ans =
1 2
1 5
2 4
2 5
4 5
5 6
6 13

More Answers (0)

Categories

Find more on Data Types in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!