Error when trying to remove rows with specific values from cell array.
1 view (last 30 days)
Show older comments
Aleya Marzuki
on 7 Nov 2020
Commented: Star Strider
on 7 Nov 2020
I have a cell array that looks like this with strings and numbers
I'm trying to write simple code that will remove entire rows in the array if numbers 1-20 are present in column 1:
toremove = [1:20];
event_time(ismember(event_time(:,1),toremove)) = [];
However I receive this error when I run my code
Error using cell/ismember
Input A of class cell and input B of class double must be cell arrays of character vectors, unless one is a character vector.
How would I index event_time by the numbers in column 1? They are not strings/characters so strcmp does not work, and treating them as integers, as above does not work either. Many thanks!
0 Comments
Accepted Answer
Star Strider
on 7 Nov 2020
Try this:
CA = num2cell(randi(50, 25, 5)); % Create Cell Array
idx = cellfun(@(x)ismember(x, 1:20), CA(:,1)); % Logical Vector Selecting (1:20) In Column #1
CAedited = CA(~idx,:); % Eliminat Rows Meeting Criteria
Use your own cell array for ‘CA’.
6 Comments
More Answers (0)
See Also
Categories
Find more on Cell Arrays 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!