find column from list then save cell

1 visualizzazione (ultimi 30 giorni)
Vincent I
Vincent I il 23 Giu 2014
Commentato: Vincent I il 24 Giu 2014
Hi,
I have two cells:
A = {'One','Four','Five'};
B = {'One','Two','Three','Four','Five';1 2 3 4 5;6 7 8 9 10};
Find A in B = C
C = {'One','Four','Five';1 4 5;6 9 10}
As shown above, I would like find the columns from A in B and the save them to another cell C without using either a for or while loop.
Cell A can have different numbers so whats shown above its not always the same.
Thank you

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 23 Giu 2014
C = B(:,ismember(B(1,:),A))

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 23 Giu 2014
A = {'One','Four','Five'};
B = {'One','Two','Three','Four','Five';1 2 3 4 5;6 7 8 9 10};
If you work with tables
BB=cell2table(B(2:end,:),'VariableNames',B(1,:))
C=BB(:,A)
  1 Commento
Vincent I
Vincent I il 24 Giu 2014
cell2table did not work for me. I'm sure with some tweaking i could have worked.
Thank you very much for your help

Accedi per commentare.

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by