How to create new cell array from a cell array that meets a condition?

9 views (last 30 days)
I have a cell array that is 500x20 in size. The last column contains the string 'Good' or 'Bad'. I want to make a new cell array that has the rows that contain the 'Good' string in the last column. For example:
1 6 4 8 Bad
3 8 5 3 Good
a= 8 6 4 9 Bad
7 4 3 6 Good
7 7 6 3 Bad
I want the output to be a new cell array with the second and fourth rows.

Accepted Answer

Walter Roberson
Walter Roberson on 22 Dec 2022
mask = strcmp(YourCell(:,end), 'Good');
GoodRows = YourCell(mask,:);
Question: have you considered using a table() instead of a cell array? Also have you considered using categorical for the conditions ?

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!