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

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 日

1 投票

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 件のコメント

Tiffany Lee
Tiffany Lee 2012 年 11 月 14 日
thanks for the quick response! works great!
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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

質問済み:

2012 年 11 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by