delete row from cell array under specific conditions
1 次查看(过去 30 天)
显示 更早的评论
Hi, sorry for the question, but I'm new at programming in Matlab.
I have a Cell Array, let's say CellArray, and I want to delete the rows where (the element in the first column is equal to a specified number) and (the element in the third column is equal to a string, for istance 'up') how do I do it? I think with cellfun I should be able to do it in only one line of code, but I don't know how.
0 个评论
回答(1 个)
Von Duesenberg
2018-3-10
Here's a quick made up example (if you can convert your cell to a table with cell2table); of course, it would have been easier if you had provided your actual data:
newT = table([1; 2; 3], {'is'; 'is'; 'is'}, {'up'; 'up'; 'down'})
newT(~strcmp('1', newT.Var1) & ~strcmp('up', newT.Var3),:)
2 个评论
Von Duesenberg
2018-3-10
I'm pretty sure somebody will come up with the right solution, but you can always use mine: convert your cell to table, delete the relevant rows, and convert the table back to cell (with table2cell)...
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!