Retrieving Rows based on Columns

1 visualizzazione (ultimi 30 giorni)
RDG
RDG il 3 Lug 2013
Suppose,
% double
var1=[ 1 1 2 4 5
2 14 15 16 17];
% cell
var2={ 1 5 6 7
3 7 6 5
4 2 5 9
2 1 5 7};
How can I retrieve the rows in var2 (column 1) which corresponds to var1 (column 1).
Desired Result:
1 5 6 7
2 1 5 7
P/S: If it's not too troublesome, can you please include an explanation as well? I would like to learn from it.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 3 Lug 2013
c1=cell2mat(var2(:,1))
idx=cell2mat(arrayfun(@(x) find(ismember(c1,x)),var1(:,1),'un',0))
out=var2(idx,:)

Più risposte (0)

Categorie

Scopri di più su Data Types 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