Retrieving Rows based on Columns

1 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by