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!

 Akzeptierte Antwort

Titus Edelhofer
Titus Edelhofer am 24 Jun. 2014

6 Stimmen

Hi Maria,
you need to convert the first column into a vector
firstColumn = cell2mat(A(:,1));
rows1997 = A(firstColumn==1997, :);
Titus

1 Kommentar

Maria
Maria am 24 Jun. 2014
Yes! I just tried cell2mat and it worked perfectly! Thank you very much! :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

aneps
aneps am 24 Jun. 2014
Bearbeitet: aneps am 24 Jun. 2014

1 Stimme

Try this:
B=A(any(A==1997,2),:)

2 Kommentare

Maria
Maria am 24 Jun. 2014
Hey. It gives me exactly the same error!
'Undefined function 'eq' for input arguments of type 'cell'
:(
Maria
Maria am 24 Jun. 2014
Still the same problem! I cannot use '==', it's always giving an error!

Melden Sie sich an, um zu kommentieren.

Reda
Reda am 10 Nov. 2023

0 Stimmen

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

Gefragt:

am 24 Jun. 2014

Beantwortet:

am 10 Nov. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by