Select rows given a condition

127 views (last 30 days)
Maria
Maria on 24 Jun 2014
Answered: Reda on 10 Nov 2023
I have a big- cell variable and I want to select it, considering the first row. So for instance if I have
A:
1997 FD 89
1997 GD 65
1999 FDK 87
2010 UY 123
I would like to get
B:
1997 FD 89
1997 GD 65
I tried to use the '==1997' function but it is not working because the input is a cell. An when I use 'isequal' I get B but it's a '0x0 cell' variable. Can anyone help me? Thanks a lot!

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 24 Jun 2014
Hi Maria,
you need to convert the first column into a vector
firstColumn = cell2mat(A(:,1));
rows1997 = A(firstColumn==1997, :);
Titus
  1 Comment
Maria
Maria on 24 Jun 2014
Yes! I just tried cell2mat and it worked perfectly! Thank you very much! :)

Sign in to comment.

More Answers (2)

aneps
aneps on 24 Jun 2014
Edited: aneps on 24 Jun 2014
Try this:
B=A(any(A==1997,2),:)
  2 Comments
Maria
Maria on 24 Jun 2014
Hey. It gives me exactly the same error!
'Undefined function 'eq' for input arguments of type 'cell'
:(
Maria
Maria on 24 Jun 2014
Still the same problem! I cannot use '==', it's always giving an error!

Sign in to comment.


Reda
Reda on 10 Nov 2023
Dear sir,
I have a file name(metadat) which have 3 column and no of rows. My question is how to select all rows from the file with specific condition such as PP=0. I try allot of salutions but i didnt get the wright one. Thanks alot

Community Treasure Hunt

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

Start Hunting!