find element in array

14 vues (au cours des 30 derniers jours)
NA
NA le 18 Oct 2018
Modifié(e) : Stephen23 le 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]}

Réponse acceptée

Bruno Luong
Bruno Luong le 18 Oct 2018
Modifié(e) : Bruno Luong le 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

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by