remove rows in cell if a column is equal to a number

1 次查看(过去 30 天)
So this is a simplified version of what I have, I want to remove the rows in X that match the number in the cell Y, so all I would have left is the first row. My real data has over a million rows, is there a quick way to do this? Thanks for your help!
X =
'B737' 'DAL1240' [10]
'MD88' 'DAL1542' [ 9]
'B747' 'DAL1284' [ 9]
'B737' 'DAL1532' [ 4]
'A320' 'DAL1417' [ 4]
Y =
[9]
[4]

回答(1 个)

C.J. Harris
C.J. Harris 2012-11-14
X = {'B737' 'DAL1240' [10]
'MD88' 'DAL1542' [ 9]
'B747' 'DAL1284' [ 9]
'B737' 'DAL1532' [ 4]
'A320' 'DAL1417' [ 4]};
Y = {[9]
[4]};
X(ismember(cell2mat(X(:,3)),cell2mat(Y)), :) = [];
  2 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2012-11-14
编辑:Azzi Abdelmalek 2012-11-14
Tiffany you have to accept one of the answers that answers your question by clicking on accept this answer

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by