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

9 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2022-12-22
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 ?

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by